面试 left join/right join/inner join区别
left join
即左连接,查出来的结果显示左边表的所有数据,然后右边表显示的是和左边表有交集部分的数据。
比如a表左连接b表,查出来的结果显示a表的所有数据和b表中与a表有交集的数据。

举个例子
一张用户表,包含两个用户及其角色id;一张角色表,包含两个角色。


现通过角色表左连接用户表进行查询,因为右表中与左表有交集的只有role_id为1的情况,因此在第三行查询为空

right join
即右连接,查出来的结果显示右边表的所有数据,然后左边表显示的是和右边表有交集部分的数据。
比如a表右连接b表,查出来的结果显示b表的所有数据和a表中与b表有交集的数据。

举个例子
现通过用户表右连接角色表进行查询,因为右表中与左表有交集的只有role_id为1的情况,因此在第三行查询为空

inner join
inner join可简写为join,即内连接,表示查询出的结果为两个表的交集部分

举个例子
用户表内连接角色表

文章详细解释了数据库查询中的三种连接方式:LEFTJOIN保留左侧表格所有数据,显示右侧表格的匹配部分;RIGHTJOIN反之,保留右侧表格所有数据;INNERJOIN只显示两个表格的交集数据。通过用户表和角色表的例子帮助理解这些概念。

被折叠的 条评论
为什么被折叠?



