高级DBA教你Mysql中IF的使用并与子查询联合运用实战并附加实用小窍门
-- 假设我们有一个表 `employees`,包含字段 `id`, `name`, `salary` 和 `department_id`
-- 我们想要找出工资大于他们部门平均工资的员工
SELECT e1.name, e1.salary, avg_salary
FROM employees e1
JOIN (
SELECT department_id, AVG(salary) AS avg_salary
FROM employees
GROUP BY department_id
) e2 ON e1.department_id = e2.department_id
WHERE e1.salary > e2.avg_salary;
这段代码首先定义了一个子查询,它为每个部门计算了平均工资。然后,主查询联接了原始员工表和子查询结果,并选择了工资高于部门平均水平的员工。这是一个很好的实践,演示了如何在MySQL中使用子查询和IF语句,并且在实际数据库查询中可能会经常用到。
评论已关闭