简单练习select语句

    技术2022-07-11  113

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

    一、基础语句

    1.找出工资是800的员工

    select ename,sal from emp where sal=800;

    2.找出叫Smith的人

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

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

    select ename,sal from emp where sal>1500;

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

    select ename,sal from emp where sal<1000;

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

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

    6.between语句

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

    7.查找工种为salesman的工资在1000和3000之间的员工 由于有优先级顺序,故后面的语句用括号括起来

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

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

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

    二、like模糊查询 *

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

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

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

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

    ** 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;

    null和任何数值运算,结果为NULL; ifnull()函数,使为null的值为0;

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

    2.找出没有津贴的员工

    select ename,comm from emp where comm is null;

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

    select sum(comm) from emp;

    四、分组group by

    分组:一般情况是和聚合函数一起用: select 参与分组的列名,聚合函数, from … group by 分组的列名; 1.计算每个工种的工资的平均值

    select avg(sal) from emp group by job;

    2.部门的工资总和

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

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

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

    五、order by 排序。

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

    select ename,sal from emp order by sal desc;

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

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

    Processed: 0.008, SQL: 9