我们来看下这三张表,然后根据这三张表做相对应的数据库查询练习
emp员工表:
dept部门表:
dept_20:
1.列出员工表中每个部门的员工数,和部门号
-
分析题目我们可以知道,这是一个单表查询,我们搞清楚从哪张表查询哪些数据就行了.
-
解题思路:首先我们先用GROUP BY deptno根据部门编号进行分组,然后用COUNT()就能得到每个部门的员工数
SELECT COUNT(1)number,deptno FROM emp GROUP BY deptno;
2.列出员工表中每个部门的员工数(员工数必须大于 3),和部门名称
-
分析题目我们可以知道,这是个多表查询,跟上面一样
-
解题思路:首先我们先要清楚从emp表和dept表这两张表查询数据,跟第一题有点相似,我们还是用GROUP BY dname根据部门名称进行分组,然后用COUNT()得到每个部门的员工数,这里题目要求员工数必须大于3,所以我们可以用HAVING对GROUP BY分好的组进行再分组,得到员工数大于3的部门.</