📜  在sql中连接多个表(1)

📅  最后修改于: 2023-12-03 15:37:39.040000             🧑  作者: Mango

在 SQL 中连接多个表

在 SQL 中连接多个表可以利用多种 JOIN 操作实现,比如 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 等等。

INNER JOIN

内连接(INNER JOIN)是常用的连接方式,只会返回两个表之间满足条件的数据行。

SELECT *
FROM table1
INNER JOIN table2 ON table1.id = table2.id;

上面的代码将返回 table1 和 table2 之间 id 相等的数据行。

LEFT JOIN

左外连接(LEFT JOIN)返回左表中所有的数据行和右表中满足条件的数据行。

SELECT *
FROM table1
LEFT JOIN table2 ON table1.id = table2.id;

上面的代码将返回 table1 中所有数据行和 table2 中与其 id 相等的数据行。

RIGHT JOIN

右外连接(RIGHT JOIN)返回右表中所有的数据行和左表中满足条件的数据行。

SELECT *
FROM table1
RIGHT JOIN table2 ON table1.id = table2.id;

上面的代码将返回 table1 中与 table2 id 相等的数据行和 table2 中所有数据行。

FULL OUTER JOIN

全外连接(FULL OUTER JOIN)返回两个表中所有的数据行。

SELECT *
FROM table1
FULL OUTER JOIN table2 ON table1.id = table2.id;

上面的代码将返回 table1 和 table2 中所有数据行。

除了以上几种 JOIN 操作,还有其他类型的 JOIN 操作,比如 CROSS JOIN、SELF JOIN 等等。根据实际情况选择不同的操作方式即可。