在 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 vs. 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             |
| Portugal          |
| 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...