MySql

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

Nick · 2月24日 · 2020年 · 本文1345字 · 阅读4分钟734

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

(1)成员表(emp)
MySQL常用的查询语句(记一次数据库作业)-左眼会陪右眼哭の博客
(2)薪水级别表(salgrade)
MySQL常用的查询语句(记一次数据库作业)-左眼会陪右眼哭の博客
(3)部门表(dept)
MySQL常用的查询语句(记一次数据库作业)-左眼会陪右眼哭の博客
请按要求用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 条回应
在线人数:1人 来访统计
隐藏