DQL
关系运算符:=,!=,<>,>=,<=,
(1) 区间:between A and B ->[A,B]
(2) And:并且,和
(3) Or:或者
(4) Is null:空
(5) Not:否,非
(6) Is not null:非空
(7) In:在什么里面
升序:asc
#升序
#(1)查询所有的学生信息,根据年龄进行升序排序
select * from stu order by age asc;
降序:desc
#降序
#(2)查询所有的学生信息,根据年龄进行降序排序
select * from stu order by age desc;
#(2)查询所有的学生信息,根据名字进行升序排序
select * from stu order by sname asc;
#(3)查询所有员工信息,根据工资进行排序,如果工资相同按照员工号升序
select * from emp order by sal desc,empno asc;
Mysql 系统中提供了很多函数
Count:统计个数,次数多的不统计
Max:最大值
Min:最小值
Sum:求和
Avg:平均值
9.6.1、lcount函数
9.6.2 sum 求和,avg平均分,round四舍五入
##(1)查询所有员工工资总和
select sum(sal) from emp;
##(2)查询所有员工工资总和、提成总和
select sum(sal) ,sum(comm) from emp;
##(3)查询所有员工工资总和、提成总和、薪资
select sum(sal) ,sum(comm),sum(sal + ifnull(comm,0)) money from emp;
##(3)计算员工的平均工资
select avg(sal) ,avg(comm) from emp;
9.6.3max和min
##查询员工表中,工资最高的、最低的
select max(sal) max_sal,min(sal) min_sal from emp;
9.6.4分段函数case
##员工表中,根据薪资不一样,给不一样的评论
>4000,NB666
>3000,NB66
>2000,NB6
<2000,ZZ
select
sal,
case
when sal >4000 then "NB666"
when sal >3000 then "NB66"
when sal >2000 then "NB6"
else "ZZ"
end as pj
from
emp;
9.6.5字符串截取
Left(A,4)从左边开始截取4个字符
Right(A,4)从右边开始截取4个字符
我 爱 你
##截取
1987-04-19 -》1987
select right('1987-04-19',4)
###(1)获取员工的入职年份
select ename,hiredate,left(hiredate,4) from emp;
###(2)获取员工的入职工龄
select ename,hiredate,2021 - left(hiredate,4) from emp;

浙公网安备 33010602011771号