FULL JOIN(全连接)

SQL 数据连接

Maham Faisal Khan

Senior Content Developer, DataCamp

FULL JOIN 初始示意图

  • FULL JOIN 相当于 LEFT JOIN + RIGHT JOIN
    id 字段上执行 FULL JOIN 的示意图

一个图示:两个表(左表与右表),箭头指向两表中在 id 列上匹配的记录。与全连接无关的记录已淡化处理。

SQL 数据连接

FULL JOIN 示意图

一个图示:显示左表、右表,以及对它们执行全连接后的结果集。与全连接无关的记录已灰化。

SQL 数据连接

FULL JOIN 语法

SELECT left_table.id AS L_id,
       right_table.id AS R_id,
       left_table.val AS L_val,
       right_table.val AS R_val
FROM left_table
FULL JOIN right_table
USING (id);

注意: 也可使用关键字 FULL OUTER JOIN

SQL 数据连接

使用 leaders 数据库的 FULL JOIN 示例

SELECT p1.country AS country, prime_minister, president
SQL 数据连接

使用 leaders 数据库的 FULL JOIN 示例

SELECT p1.country AS country, prime_minister, president
FROM prime_ministers AS p1
SQL 数据连接

使用 leaders 数据库的 FULL JOIN 示例

SELECT p1.country AS country, prime_minister, president
FROM prime_ministers AS p1
FULL JOIN presidents AS p2
SQL 数据连接

使用 leaders 数据库的 FULL JOIN 示例

SELECT p1.country AS country, prime_minister, president
FROM prime_ministers AS p1
FULL JOIN presidents AS p2
ON p1.country = p2.country
LIMIT 10;
SQL 数据连接

使用 leaders 数据库的 FULL JOIN 示例

| country        | prime_minister   | president               |
|----------------|------------------|-------------------------|
| Egypt          | Mostafa Madbouly | Abdel Fattah el-Sisi    |
| Portugal       | Luís Montenegro  | Marcelo Rebelo de Sousa |
| Pakistan       | Shehbaz Sharif   | Asif Ali Zardari        |
| United Kingdom | Keir Starmer     | null                    |   
| USA            | null             | Joe Biden               |
| Uruguay        | null             | Luis Lacalle Pou        |   
| Chile          | null             | Gabriel Boric           |   
| India          | Narendra Modi    | Droupadi Murmu          |
| Norway         | Jonas Gahr Støre | null                    |
| Brunei         | Hassanal Bolkiah | null                    |
SQL 数据连接

Passons à la pratique !

SQL 数据连接

Preparing Video For Download...