SQL多表联查全连接
时间: 2023-11-21 08:55:30 浏览: 84
SQL中的全连接(FULL JOIN)用于返回两个表中所有的行,以及这些行在另一个表中的匹配行。如果两个表中的某一行没有匹配行,则结果集中将包含 NULL 值。下面是一个SQL多表联查全连接的例子:
假设我们有两个表 Orders 和 Customers,它们的结构如下:
Orders 表:
| Id | OrderNo | CustomerId |
| --- | ------- | ----------|
| 1 | 1001 | 1 |
| 2 | 1002 | 2 |
| 3 | 1003 | 3 |
Customers 表:
| Id | Name | City |
| --- | ------ | ---------|
| 1 | Alice | New York |
| 2 | Bob | London |
| 4 | Claire | Paris |
我们可以使用以下 SQL 语句来执行全连接:
```sql
SELECT *
FROM Orders
FULL JOIN Customers
ON Orders.CustomerId = Customers.Id;
```
执行以上 SQL 语句后,将返回以下结果:
| Id | OrderNo | CustomerId | Id | Name | City |
| ---- | -------| ----------| ---- | ------ | -------- |
| 1 | 1001 | 1 | 1 | Alice | New York |
| 2 | 1002 | 2 | 2 | Bob | London |
| 3 | 1003 | 3 | NULL | NULL | NULL |
| NULL | NULL | NULL | 4 | Claire | Paris |
以上结果中,第一行和第二行是 Orders 表和 Customers 表中匹配的行,第三行是 Orders 表中没有匹配的行,第四行是 Customers 表中没有匹配的行。
阅读全文