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.1lcount函数

 

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.3maxmin

 

##查询员工表中,工资最高的、最低的

 

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;

 

posted @ 2021-04-08 09:03  共你、  阅读(688)  评论(0)    收藏  举报