full join 三个表连接
时间: 2023-10-20 13:27:32 浏览: 257
SQL表连接查询(inner join、full join、left join、right join)1
在连接三个表时,使用full join是不可行的。在SQL语句中,full join用于返回两个表中的所有行,包括匹配和不匹配的行。但是当连接三个表时,full join并不能满足我们的需求。
如果我们想要实现三个表的完全连接,可以采用以下步骤:
1. 使用left join将第一个表与第二个表连接起来,并选择需要的列。这将返回匹配的行以及第一个表中不匹配的行。
2. 使用right join将第二个表与第三个表连接起来,并选择需要的列。这将返回匹配的行以及第三个表中不匹配的行。
3. 将前两个连接的结果使用union连接起来,得到最终的结果。这将包括第一个表和第二个表的匹配行,以及第一个表与第二个表不匹配的行和第二个表与第三个表不匹配的行。
以下是一个示例的SQL语句:
```
select *
from bas_goods
left join pur_goods on bas_goods.id = pur_goods.id
union
select *
from pur_goods
right join pur_provider on pur_goods.id = pur_provider.id
```
这样就能够实现三个表的连接,并返回符合条件的所有行。请注意,具体的表名、连接条件和需要选择的列需要根据实际情况进行调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [三个表的全连接查询(多表联合查询):替代full join](https://blog.csdn.net/weixin_43592907/article/details/106435408)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文