是的,MySQL 嵌套查詢(也稱為子查詢)可以處理多表關聯。子查詢是在主查詢中執行的查詢,通常用于過濾、計算或從其他表中獲取數據。子查詢可以嵌套,允許您在主查詢中使用另一個子查詢的結果。
以下是一個簡單的示例,展示了如何使用嵌套查詢處理多表關聯:
假設我們有兩個表:employees
和 departments
,它們的結構如下:
employees 表
id | name | department_id |
---|---|---|
1 | Alice | 1 |
2 | Bob | 2 |
3 | Carol | 1 |
departments 表
id | name |
---|---|
1 | HR |
2 | IT |
我們想要查詢每個部門的員工數量。可以使用以下嵌套查詢:
SELECT d.name AS department_name, COUNT(e.id) AS employee_count
FROM departments d
JOIN employees e ON d.id = e.department_id
GROUP BY d.id, d.name
HAVING COUNT(e.id) > 1;
在這個查詢中,我們首先使用 JOIN
語句將 employees
表和 departments
表關聯起來。然后,我們使用 GROUP BY
語句按部門對員工進行分組。最后,我們使用 HAVING
子句過濾出員工數量大于 1 的部門。
雖然這個示例沒有直接使用嵌套查詢,但您可以根據需要將子查詢嵌入到主查詢中,以處理更復雜的多表關聯。