SQL 两张表合并语句用于将两个或多个表中的数据组合成一个新的表。这在需要从不同数据源中整合数据时非常有用。
合并语句类型
SQL 中有两种主要的合并语句类型:
* **INNER JOIN:**仅保留两个表中都有匹配行的结果。
* **OUTER JOIN:**保留一个或两个表中所有行,即使它们在另一个表中没有匹配项。
语法
INNER JOIN 的语法如下:
SELECT column1, column2, ...FROM table1INNER JOIN table2 ON table1.columnX = table2.columnY;
OUTER JOIN 的语法略有不同,具体取决于要使用的类型。例如,LEFT JOIN 的语法如下:
SELECT column1, column2, ...FROM table1LEFT JOIN table2 ON table1.columnX = table2.columnY;
使用场景
SQL 两张表合并语句可用于各种场景,包括:
* 合并来自不同数据源的数据,例如将客户信息与订单信息合并。
* 查找在两张表中都存在的匹配行,例如查找购买过特定产品的客户。
* 找到在两张表中都缺失的匹配行,例如查找没有订单的客户。
示例
假设有两个表,"客户" 和 "订单",它们包含以下数据:
| 客户表 | 订单表 |
| ----------- | ----------- |
| 客户 ID | 订单 ID |
| 1 | 100 |
| 2 | 101 |
| 3 | 102 |
要查找所有已下单的客户,可以使用以下 INNER JOIN 语句:
SELECT *FROM 客户INNER JOIN 订单 ON 客户.客户 ID = 订单.客户 ID;
结果将如下所示:
| 客户 ID | 订单 ID |
| ----------- | ----------- |
| 1 | 100 |
| 2 | 101 |
| 3 | 102 |