在 SQL 中,INTERSECT 是一個集合操作符,用于返回兩個或多個 SELECT 查詢共有的結果。換句話說,它允許你找到兩個查詢都返回的行。
以下是使用 INTERSECT 的基本語法:
SELECT column1, column2, ...
FROM table1
WHERE condition1
INTERSECT
SELECT column1, column2, ...
FROM table2
WHERE condition2;
在這個例子中,我們從 table1 和 table2 中選擇相同的列,并返回滿足 condition1 和 condition2 的行。
請注意以下幾點:
INTERSECT 操作要求參與運算的兩個 SELECT 語句具有相同數量的列。這些列必須具有相似的數據類型。INTERSECT 操作默認會去除重復的行。如果你希望保留重復的行,可以使用 UNION 代替。INTERSECT 操作的結果也將為空集。下面是一個具體的例子,假設我們有兩個表 employees_old 和 employees_new,我們想要找出同時在這兩個表中工作的員工:
SELECT employee_id, first_name, last_name
FROM employees_old
WHERE department = 'Sales'
INTERSECT
SELECT employee_id, first_name, last_name
FROM employees_new
WHERE department = 'Sales';
這個查詢將返回同時在 employees_old 和 employees_new 的銷售部門工作的員工的 ID、名字和姓氏。