数据库DQL

select

语法:
select 字段名 from 表名 [where -> group by ->having->order by];

简单查询

//在emp表中查询字段名为ename的数据
select ename from emp;

//查询多个字段名在emp表中
select empon,emane from emp;

//查询emp表中的所有字段
/*
*   不建立使用
*   1.查询的不明确
*   2.影响开发效率,性能,因为在使用‘*’,mysql会将‘*’号转换为表中所有的字段,所以影响开发效率
*/
select * from emp;

查询字段名,并将其字段名中的数据处理

/*
*假设数据库表中有一个月薪字段为sal的字段,现在我们要显示年薪,可是数据库中有没有,改怎么办呢?
*使用如下即可
*/
select sal*12 from emp;

//但是查询出来的字段名就会变为sal*12这样并不规范,所以使用如下方法(起一个别名)

// 起一个别名为yearsal
select sal*12 as yearsal from emp;

//as 也可以省略
select sal*12 yearsal from emp;

//也可以将别名写为中文(一般不使用,知道就好)
select sal*12 '年薪' from emp;

条件查询

//在emp表中查询empno和ename的字段,且月薪字段sal为5000的数据

select empon,ename from where sal=5000

// 1.查询薪水sal不等于5000的
//      a.<>不等于(建议使用)
select empon,ename form where sal <> 5000

//      b.或者使用!=(不建议使用)
select empon,ename form where sal != 5000

//查询薪水sal 1600到3000的数据
select empon,ename form where sal>=1600 and sal <=3000;

//between...and...相当于>=和<=
//说以查询薪水sal 1600到3000的数据也可以这样写
select empon,ename form where sal between 1600 and 3000;

//查询薪水字段sal中数据为null的数据
select empon,ename form where sal is null;

多个条件限制

and的优先级高于or
// and 表示且,可以在where 后面添加多个限制条件

//查询工作字段工作岗位job为manager并且薪水sal大于2500
select empon,ename from where job = 'manager' and sal>2500;

// or 表示或,只要表示一项条件即可

//查询工作字段工作岗位job为manager或薪水sal大于2500
select empon,ename from where job = 'manager' or sal>2500;

//查询工作字段工作岗位job为manager或工作岗位job为salesman,且薪水sal大于2500
//如果将括号去掉那么就成为工作岗位job为manager或工作岗位job为salesman且薪水sal大于2500

select empon,ename from where (job = 'manager' or job='salesman') and sal>2500;

in 只要满足一项条件接口,完全可以使用or来表示,采用in更简洁一些
//查询字段工作岗位job为manager或工作岗位job为salesman
select empon,ename from where job in ('manager','salesman');

//查询字段工作岗位job不是为manager和salesman数据
select empon,ename from where job not in ('manager','salesman');

like 模糊查询,在数据量较大的情况下,使用like会影响性能
//查询员工姓名ename字段m开头的数据
select ename from emp where like 'm%';

//查询员工姓名ename字段n结尾的数据
select ename from emp where like '%n';

//查询员工姓名ename字段包含x的数据
select ename from emp where like '%x%';

//查询员工姓名ename字段包含第二个字母x的数据
//一个下划线代表一个字符
select ename from emp where like '_x%';

猜你喜欢

转载自blog.csdn.net/qq_37805723/article/details/91408438
今日推荐