【MySQL】MySQL复合查询--多表查询/自连接/子查询
-- 多表查询
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
JOIN departments d ON e.department_id = d.department_id;
-- 自连接查询
SELECT m.last_name AS manager_name, e.last_name AS employee_name
FROM employees m
JOIN employees e ON m.employee_id = e.manager_id;
-- 子查询
SELECT e1.last_name, e1.salary
FROM employees e1
WHERE e1.salary > (
SELECT AVG(e2.salary)
FROM employees e2
WHERE e2.department_id = e1.department_id
);
这个例子展示了如何在MySQL中执行多表查询、自连接查询和子查询。多表查询用于连接两个相关的表;自连接查询用于查询同一个表的不同行;子查询用于在一个查询中嵌套另一个查询的结果。这些技术可以用于复杂的数据分析和查询需求。
评论已关闭