首页 > 数据库技术 > 详细

一些SQL查询题目的练习

时间:2020-09-05 13:52:00      阅读:75      评论:0      收藏:0      [点我收藏+]

表结构

员工表:

技术分享图片

部门表:

技术分享图片

薪水等级表:

技术分享图片

 

题目

1.统计各部门员工数量 显示部门名称

思路:在使用外连接时,为了保证即便没有员工,部门也一定显示,因此用部门表左外连接员工表(或者员工表右外连接部门表)。

代码:

select dept.deptno, dname, count(empno) as count
from dept left outer join emp
on emp.deptno = dept.deptno
group by deptno

查询结果:

技术分享图片

 

 

 

2.取得每个部门最高薪水的员工名称

思路:首先取得每个部门最高薪水,再将其作为临时表d,和员工表e内连接(交集),条件为部门和薪水都相等,最后为了可读性,按照部门编号排序。

代码:

select e.ename, d.*
from (select deptno, max(sal) as sal from emp group by deptno) d join emp e
on e.deptno = d.deptno and e.sal = d.sal
order by deptno

查询结果:

技术分享图片

 

一些SQL查询题目的练习

原文:https://www.cnblogs.com/kunwu/p/13617893.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!