MySQL练习题系列首篇,如何从零开始掌握MySQL?

MySQL练习题(一) _MySQL到MySQL:这是关于MySQL的练习题目,主要涉及MySQL数据库的操作和查询。

1、取得每个部门最高薪水的人员名称

MySQL练习题系列首篇,如何从零开始掌握MySQL?

解题思路:通过分组查询,找出每个部门的最高薪水,然后与员工表连接,找到对应的员工名称。

SQL语句

     SELECT d.DNAME, e.ENAME
     FROM DEPT d
     JOIN EMP e ON d.DEPTNO = e.DEPTNO
     WHERE e.SAL IN (SELECT MAX(SAL) FROM EMP GROUP BY DEPTNO);

2、哪些人的薪水在部门的平均薪水之上

解题思路:计算每个部门的平均薪水,再找出那些薪水高于本部门平均薪水的员工。

SQL语句

     SELECT e.ENAME, e.SAL
     FROM EMP e
     WHERE e.SAL > (SELECT AVG(SAL) FROM EMP WHERE DEPTNO = e.DEPTNO);

3、取得部门中(所有人的)平均的薪水等级

解题思路:先求出每个部门的平均薪水,然后再根据薪水等级表查找对应的等级。

SQL语句

     SELECT d.DNAME, AVG(e.SAL) AS AvgSalary, sg.GRADE
     FROM DEPT d
     JOIN EMP e ON d.DEPTNO = e.DEPTNO
     JOIN SALGRADE sg ON e.SAL BETWEEN sg.LOSAL AND sg.HISAL
     GROUP BY d.DNAME;

4、不准用组函数(Max),取得最高薪水

解题思路:使用子查询,逐步缩小范围,找到最高薪水。

SQL语句

     SELECT e.ENAME, e.SAL
     FROM EMP e
     WHERE e.SAL = (SELECT MAX(SAL) FROM EMP WHERE DEPTNO = e.DEPTNO);

5、取得平均薪水最高的部门的部门编号

MySQL练习题系列首篇,如何从零开始掌握MySQL?

解题思路:按部门计算平均薪水,并按平均薪水降序排列,取第一条记录的部门编号。

SQL语句

     SELECT DEPTNO
     FROM EMP
     GROUP BY DEPTNO
     ORDER BY AVG(SAL) DESC
     LIMIT 1;

6、取得平均薪水最高的部门的部门名称

解题思路:在上一步的基础上,通过部门编号找到对应的部门名称。

SQL语句

     SELECT d.DNAME
     FROM DEPT d
     JOIN (
         SELECT DEPTNO, AVG(SAL) AS AvgSalary
         FROM EMP
         GROUP BY DEPTNO
         ORDER BY AvgSalary DESC
         LIMIT 1
     ) AS subq ON d.DEPTNO = subq.DEPTNO;

7、求平均薪水的等级最低的部门的部门名称

解题思路:按部门计算平均薪水,并与薪水等级表连接,找到最低等级的部门名称。

SQL语句

     SELECT d.DNAME, sg.GRADE
     FROM DEPT d
     JOIN (
         SELECT DEPTNO, AVG(SAL) AS AvgSalary
         FROM EMP
         GROUP BY DEPTNO
         ORDER BY AvgSalary ASC
         LIMIT 1
     ) AS subq ON d.DEPTNO = subq.DEPTNO
     JOIN SALGRADE sg ON subq.AvgSalary BETWEEN sg.LOSAL AND sg.HISAL;

8、**取得比普通员工(员工代码没有在 mgr 字段上出现的) 的最高薪水还要高的领导人姓名(*)

解题思路:找出普通员工的最高薪水,然后找出薪水高于此值的领导人。

SQL语句

     SELECT e.ENAME
     FROM EMP e
     WHERE e.MGR IS NOT NULL AND e.SAL > (SELECT MAX(SAL) FROM EMP WHERE MGR IS NULL);

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1234632.html

(0)
未希的头像未希新媒体运营
上一篇 2024-10-23 23:10
下一篇 2024-10-23 23:15

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

免费注册
电话联系

400-880-8834

产品咨询
产品咨询
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入