INNER JOIN、LEFT JOIN、RIGHT JOIN 或 FULL OUTER JOIN 等不同类型
时间: 2024-08-14 08:06:35 浏览: 57
INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL OUTER JOIN 都是在SQL中用于联接两个或更多表的操作,它们的主要区别在于返回结果集的方式:
1. **INNER JOIN** (内连接):只返回两个表中存在匹配条件的行。如果某个记录在其中一个表中没有对应匹配,在结果集中将不会出现。简单地说,它是基于“存在”的匹配。
2. **LEFT JOIN** (左外连接):返回左边表的所有行,以及右边表中匹配的行。如果右边表中没有匹配,则结果中的右侧列将填充NULL值。
3. **RIGHT JOIN** (右外连接):与LEFT JOIN相反,它返回右边表的所有行,以及左边表中匹配的行。若左边表无匹配,则左侧列将填充NULL。
4. **FULL OUTER JOIN** (全外连接):结合了LEFT JOIN和RIGHT JOIN的特点,返回两边表的所有行,无论是否在对方表中有匹配。对于未找到匹配的行,相应列的值将为NULL。
每种类型的JOIN都有其应用场景,例如,当你只想查看关联数据而不想丢失任何信息时,可能会选择LEFT JOIN或RIGHT JOIN;而INNER 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 ]
join语句有inner join、left join、right join和full outer join,默认是哪种
JOIN语句默认是INNER JOIN。INNER JOIN是指只返回两个表中匹配的行,而LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN则会返回不匹配的行。LEFT JOIN返回左表中所有的行和右表中匹配的行,右表中不匹配的行则用NULL填充;RIGHT JOIN则返回右表中所有的行和左表中匹配的行,左表中不匹配的行则用NULL填充;FULL OUTER JOIN则返回两个表中所有的行,不匹配的行用NULL填充。
阅读全文