在 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、名字和姓氏。