INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)和FULL OUTER JOIN(全外连接)区别
时间: 2023-07-18 17:49:10 浏览: 83
这些JOIN类型的区别如下:
1. INNER JOIN(内连接):返回两个表中匹配的行,即只返回两个表中通过JOIN条件匹配的行。
2. LEFT JOIN(左连接):返回左表中所有的行和右表中与左表匹配的行,如果右表中没有匹配的行,则返回NULL。
3. RIGHT JOIN(右连接):返回右表中所有的行和左表中与右表匹配的行,如果左表中没有匹配的行,则返回NULL。
4. FULL OUTER JOIN(全外连接):返回左表和右表中所有的行,如果左表或右表中没有匹配的行,则返回NULL。
需要注意的是,不同的数据库系统对于这些JOIN类型的语法可能有所不同。在使用时,应该根据具体的数据库系统进行相应的语法调整。
相关问题
简述内连接inner join、外连接full outer join、左外连接left outer join和右外连接right outer join的区别。
内连接(inner join)是指通过两个表之间的共同字段来连接它们的数据行,只返回两个表中共有的部分数据。
左外连接(left outer join)是指保留左表(左侧表)的所有行,以及右表中与左表匹配的行,如果没有匹配,则右表部分为空值。
右外连接(right outer join)是指保留右表(右侧表)的所有行,以及左表中与右表匹配的行,如果没有匹配,则左表部分为空值。
全外连接(full outer join)是指保留左表和右表中的所有行,如果两个表中某个表没有匹配数据,则将其为空值。
inner join,left outer join,right outer join,full outer join
inner join是一种等值连接,它只返回两个表中联结字段相等的行。left outer join是左外连接,它返回包括左表中的所有记录和右表中联结字段相等的记录。right outer join是右外连接,它返回包括右表中的所有记录和左表中联结字段相等的记录。full outer join是全外连接,它返回包括左表和右表中的所有记录,无论是否有匹配的记录。所以,这些连接类型主要区别在于它们返回的记录集合的不同。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [inner join、outer join、right join、left join 之间的区别](https://blog.csdn.net/dingjianmin/article/details/92009385)[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^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [oracle基础积累-join,left join,right join,inner join,full join,left outer join,right outer join 之间...](https://blog.csdn.net/zhangbeizhen18/article/details/101002029)[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^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文