文前附sql语句学习链接
​​​https://www.w3cschool.cn/sql/​

一、基础语句

1.找出工资是800的员工

select ename,sal from emp where sal=800;

简单练习select语句_mysql


2.找出叫Smith的人

select ename,sal from emp where ename='smith';

简单练习select语句_数据库_02


3.找出工资大于1500的员工

select ename,sal from emp where sal>1500;

简单练习select语句_升序_03


4.找出工资小于1000的员工

select ename,sal from emp where sal<1000;

简单练习select语句_聚合函数_04

5.找出工资大于1000的和小于2900的员工

mysql> select ename,sal from emp where sal>1000 and sal<2900;

简单练习select语句_sql_05


6.between语句

mysql> select ename,sal from emp where sal between 1100 and 3000;

简单练习select语句_升序_06


7.查找工种为salesman的工资在1000和3000之间的员工

由于有优先级顺序,故后面的语句用括号括起来

select ename,job,sal from emp where job='salesman'and(sal>1000 or sal<3000);

简单练习select语句_sql_07


8.查找工种为salesman和clerk的员工

select ename,job from emp where job='salesman'or job='clerk';

简单练习select语句_mysql_08

二、like模糊查询 *

1.查找名字中包含字母t的员工

select ename from emp where ename like '%t%';

简单练习select语句_升序_09


2.查找名字中第二个字母是l的员工

select ename from emp where ename like '_l%';

简单练习select语句_数据库_10


**

3.查找以a,j,b开头的员工

由于版本不支持,暂时此语句无法运行,无截图;

select ename frome emp where ename like '[ajb]%';

三、多行函数,聚合函数

**:输入多行,产出一行。自动忽略NULL值。不参与运算。
count 统计
max 最大值
min 最小值
sum 总和
avg 平均值
NULL此处的值不存在,不是空,’'不是0
1.计算员工一年所得

select ename,(sal+comm)*12 from emp;

简单练习select语句_数据库_11


null和任何数值运算,结果为NULL;

ifnull()函数,使为null的值为0;

select ename,(sal+ifnull(comm,0))*12 from emp;

简单练习select语句_sql_12


2.找出没有津贴的员工

select ename,comm from emp where comm is null;

简单练习select语句_mysql_13


3.找出有津贴的员工津贴的和

select sum(comm) from emp;

简单练习select语句_sql_14

四、分组group by

分组:一般情况是和聚合函数一起用:
select
参与分组的列名,聚合函数,
from

group by
分组的列名;
1.计算每个工种的工资的平均值

select avg(sal) from emp group by job;

简单练习select语句_聚合函数_15


2.部门的工资总和

select deptno,sum(sal) from emp group by deptno;

简单练习select语句_升序_16


3.部门中不同工种的最高工资

select deptno,job,max(sal) from emp group by deptno,job;

简单练习select语句_sql_17

五、order by 排序。

asc是指定列按升序排列,desc则是指定列按降序排列。
默认升序
1.,

select ename,sal from emp order by sal desc;

简单练习select语句_聚合函数_18

2.工资降序排列相同的按名字的字母升序。(多个排序)

select ename,sal from emp order by sal,ename asc;

简单练习select语句_mysql_19