MySql练习11.1
对MySql练习10.2中的职工表实现以下查询:
1、找出部门编号为10的所有经理, 和部门编号为20的所有销售员的详细资料。
select * from employ where (deptno=10 and job='经理')or(deptno=20 and job='销售员');
2、找出部门编号为10的所有经理, 和部门编号为20的所有销售员,还有既不是经理也不是销售员但工资大于或等于2000的所有员工的详细资料。
select * from employ where (deptno=10 and job='经理')or(deptno=20 and job='销售员')or(job not in('经理','销售员')and sal>2000);
3、无奖金或奖金低于100的员工
select * from employ where comm<100 or comm is null;
4、查询所有员工的详细信息,使用编号升序排列
select * from employ order by empno asc;
5、查询所有员工的详细信息,用工资降序排序, 如果工资相同则使用入职日期升序排序
select * from employ order by sal desc,hiredate asc;
6、查询每个部门的平均工资
select deptno,avg(sal)from employ group by deptno;
7、查询每个部门的员工数量
select deptno,count(*)from employ group by deptno;
8、查询每种工作的最高工资、最低工资、人数,并按照人数升序排列,若人数相同则按照最低工资降序排列
select * from employ group by job order by count(*) asc,sal desc;