日常工作中,有很多聚合查询的操作,不需要编写脚本处理,而是可以通过高级的sql技巧,直接返回,可以省去很多工作量。这里统计一些常用操作。
1. 子查询 (Subquery) 最常用
子查询允许你在一个查询中嵌套另一个查询。
示例数据:
id | name | department |
---|---|---|
1 | Alice | HR |
2 | Bob | IT |
3 | Carol | HR |
4 | Dave | IT |
查询:
查询部门为 HR 的员工及其薪资高于部门 IT 的员工的薪资:
SELECT name, salary
FROM employees
WHERE department = 'HR' AND salary > (
SELECT AVG(salary) FROM employees WHERE department = 'IT'
);
结果:
name | salary |
---|---|
Alice | 5000 |
2. 分组 (GROUP BY) 和 聚合函数 (Aggregation Functions)
GROUP BY
允许你对数据进行分组,聚合函数用于计算每个组的值。
示例数据:
id | department | salary |
---|---|---|
1 | HR | 5000 |
2 | IT | 6000 |
3 | HR | 7000 |
4 | IT | 8000 |
查询:
查询每个部门的平均薪资:
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department