join, left join, right join , left outer join
一、left join(左连接)
顾名思义,就是“左连接”,以左为主,查出来的结果显示左边的所有数据,然后右边显示的是和左边有交集部分的数据
二、right join(右连接)
“右连接” ,以右为主,查出来的结果显示右边的所有数据,然后左边显示的是和右边有交集部分的数据
三、join,inner join(内连接)
join,其实就是“inner join”,为了简写才写成join,表示以两个表的交集为主,查出来是两个表有交集的部分,其余没有关联就不额外显示出来
left outer join & left join
两者之间没有本质上的区别,用法都一样
在SQL中,LEFT OUTER JOIN和LEFT JOIN是两种不同的表连接操作,用于从两个或多个表中检索数据。它们的区别如下:
- LEFT OUTER JOIN是LEFT JOIN的完整写法。它返回左表(左侧的表)的所有行,以及与右表(右侧的表)匹配的行。如果右表中没有匹配的行,将返回NULL值。
- LEFT JOIN是LEFT OUTER JOIN的简写形式,它也返回左表的所有行,以及与右表匹配的行。如果右表中没有匹配的行,将返回NULL值。
具体来说,下面是LEFT OUTER JOIN和LEFT JOIN的一些特点:
- LEFT OUTER JOIN和LEFT JOIN的语法完全相同,只是关键字的写法不同。
- 当使用LEFT OUTER JOIN或LEFT JOIN时,左表的所有行都会被包含在结果集中,不论是否有与右表匹配的行。
- 如果右表中没有与左表匹配的行,LEFT OUTER JOIN和LEFT JOIN都会将右表的相应列设置为NULL值。
- 如果右表中有多个与左表匹配的行,LEFT OUTER JOIN和LEFT JOIN都会返回多个结果行。
- 如果使用LEFT OUTER JOIN或LEFT JOIN时,关联条件中的多个列组合起来不是唯一的,可能会导致返回的结果集中出现重复的行。
综上所述,LEFT OUTER JOIN和LEFT JOIN在功能上是完全相同的,都用于从左表中返回所有行,并根据关联条件来匹配右表的行。它们的选择只是根据个人偏好或特定的SQL语法规范来决定。