MySQL常用的查询语句(记一次数据库作业)

2022-09-24 09:11:44 浏览数 (1)

题目:某单位数据库institute中存在三张表:

(1)成员表(emp)

(2)薪水级别表(salgrade)

(3)部门表(dept)

请按要求用sql语句完成下列题目: (1)列出薪水最高的前三名员工 (2)列出薪水比“ALLEN”高的所有员工信息 (3)计算每个部门的平均薪水 (4)列出哪些人的薪水在部门平均薪水之上 (5)列出平均薪水最高的部门的部门号码 (6)列出每个部门的最高薪水 (7)列出每个部门最高薪水的人员名称 (8)列出所有员工的姓名、薪水、部门名称、薪水等级 (9)列出所有员工及对应领导的名字 (10)列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门 所有查询语句如下 use book; #1.列出薪水最高的前三名员工 select * from emp order by sal desc limit 0,3 ; #2.列出薪水比“ALLEN”高的所有员工信息 SELECT * from emp where sal>(select sal from emp where ename="ALLEN"); #3.计算每个部门的平均薪水 SELECT dept.dname,avg(sal),dept.deptno FROM emp JOIN dept on emp.deptno=dept.deptno GROUP BY dname; #4.列出哪些人的薪水在部门平均薪水之上 select ename,sal,a.deptno from emp a, (select avg(sal) avgsal,deptno from emp group by deptno) b where a.sal > b.avgsal and a.deptno = b.deptno; #5.列出平均薪水最高的部门的部门号码 select a.deptno,MAX(a.avgsal) FROM (SELECT deptno,avg(sal) avgsal FROM emp GROUP BY deptno) a; #6.列出每个部门的最高薪水 SELECT dname,max(sal) sal FROM emp JOIN dept on emp.deptno=dept.deptno GROUP BY dept.dname; #7.列出每个部门最高薪水的人员名称 SELECT dname,ename,max(sal) sal FROM emp JOIN dept on emp.deptno=dept.deptno GROUP BY dept.dname; #8.列出所有员工的姓名、薪水、部门名称、薪水等级 select e1.ename, d.dname, e1.sal, sg.grade from emp e1, emp e2, dept d, salgrade sg where e1.empno = e2.empno and e1.deptno = d.deptno and e1.sal between losal and hisal; #9.列出所有员工及对应领导的名字 select e1.ename '员工',e2.ename '领导' from emp e1, emp e2 where e1.mgr = e2.empno; #10.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门 SELECT dname,emp.* from emp RIGHT JOIN dept on emp.deptno=dept.deptno

MySql常用语句

点击参考我 点击参考我

0 人点赞