在 INTERSECT 交集中

在 SQL 中進行資料連接

Maham Faisal Khan

Senior Content Developer, DataCamp

INTERSECT 維恩圖

一張包含三個維恩圖的圖片,其中兩個淡出,只有標示 INTERSECT 的圖在焦點。該圖有兩個重疊圓,只有重疊區塊以綠色標示。

在 SQL 中進行資料連接

INTERSECT 示意圖

一個示意圖,顯示左右兩張資料表。圖右側示意對兩表執行 INTERSECT 後的結果。

在 SQL 中進行資料連接

INTERSECT 語法

SELECT id, val
FROM left_table

INTERSECT
SELECT id, val FROM right_table;
在 SQL 中進行資料連接

兩欄位上的 INTERSECT 與 INNER JOIN 比較

INTERSECT 語法

SELECT *
FROM left_table
INTERSECT
SELECT *
FROM right_table;

一個示意圖,顯示左右兩張資料表。圖右側示意對兩表執行 UNION 的結果。

INNER JOIN 語法

SELECT l.id, l.val
FROM left_table AS l
INNER JOIN right_table AS r
  ON l.id = r.id
      AND l.val = r.val;

一個示意圖,顯示左右兩張資料表。圖右側示意對兩表執行 INNER JOIN 的結果。

在 SQL 中進行資料連接

同時有總理與總統的國家

SELECT country as intersect_country
FROM prime_ministers
INTERSECT
SELECT country
FROM presidents;
| intersect_country |
|-------------------|
| Egypt             |
| Portgual          |
| Pakistan          |
| India             |
在 SQL 中進行資料連接

在兩個欄位上使用 INTERSECT

SELECT country, prime_minister AS leader
FROM prime_ministers
INTERSECT
SELECT country, president
FROM presidents;
|-----------|----------|
| country   | leader   |
|-----------|----------|
|-----------|----------|
在 SQL 中進行資料連接

同時有總理與君主的國家

SELECT country, prime_minister AS leader
FROM prime_ministers
INTERSECT
SELECT country, monarch
FROM monarchs;
|---------|--------------------|
| country | leader             |
|---------|--------------------|
| Brunei  | Hassanal Bolkiah   |
| Oman    | Haitham bin Tarik  |
|---------|--------------------|
在 SQL 中進行資料連接

一起來練習吧!

在 SQL 中進行資料連接

Preparing Video For Download...