目标
- 理解GROUP BY语句
FROM 子句:指定查询的数据源,即从哪个或哪些表中检索数据。
JOIN 子句(如果有):如果需要从多个表中检索数据,并且这些表之间存在关系,那么可以使用 JOIN 来连接这些表。JOIN 子句定义了如何将这些表的数据组合在一起。
WHERE 子句(如果有):用于过滤结果集,只包括满足特定条件的行。
GROUP BY 子句:在 FROM 和可能的 JOIN 子句之后使用,用于根据一个或多个列的值对结果集进行分组。每个组由具有相同列值的行组成。
HAVING 子句(如果有):用于对分组后的结果进行条件过滤。与 WHERE 子句不同,HAVING 子句可以引用聚合函数。
#查询出公司各部门的人数 且部门人数比Pur部门人数多的部门编号、部门名字和人数
#思路1.查询出pur部门的人数 2.查询公司各部门的人数 3.比较
SELECT dept.department_id,dept.department_name,COUNT(employee_id) count_emp
FROM employees emp JOIN departments dept ON emp.department_id = dept.department_id
GROUP BY emp.department_id
## ^
## |计算每一个部门的人数
HAVING count_emp >
(SELECT COUNT(employee_id) FROM employees e
JOIN departments d ON e.`department_id` = d.`department_id`
WHERE d.`department_name` = 'Pur')
评论 (0)