7-1-查询练习
数据表
本次练习使用的数据表是员工、部门和工资级别,在0-示例数据库语句-CSDN博客可以找到相关的sql语句
题目
1)找出奖金高于薪水60%的员工信息。
select * from emp where comm>sal*0.6;
2)找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料。
select * from emp where deptno=10 and job='manager' or deptno=20 and job='clerk';
说明:and运算符的优先级高于or运算符,此处省略了括号,建议不要省略,如下:
select * from emp where (deptno=10 and job='manager') or (deptno=20 and job='clerk');
3)统计各部门的薪水总和。
select d.deptno,d.dname,IFNULL(sum(e.sal),0) total
from dept d left join emp e on d.deptno=e.deptno
group by d.deptno,d.dname;
说明:此处使用左外链接,没有员工的部门有需要显示,薪水总和显示为0
4)找出部门10中所有理(MANAGER),部门20中所有办事员(CLERK)以及既不是经理又不是办事员但其薪水大于或等2000的所有员工的详细资料。
select * from emp