SQL 中left joinright joininner join的区别

Posted 泡^泡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 中left joinright joininner join的区别相关的知识,希望对你有一定的参考价值。

区别

  • LEFT JOIN:以左侧表为主,右侧表与其相匹配,匹配不上的记录 ,以null 做替补。
  • RIGHT JOIN:以右侧表为主,左侧表与其相匹配,匹配不上得记录,以null做替补。
  • INNER JOIN:只返回两个表中联接字段相等的记录。

案例

t_user表

t_class表

左连接:
select u.UserID,u.UserName,c.id,c.name from t_user u left join t_classc on c.id = u.UserID
运行结果

右连接:
select u.UserID,u.UserName,c.id,c.name from t_user u RIGHT join t_class c on c.id = u.UserID
运行结果:

内连接:
select u.UserID,u.UserName,c.id,c.name from t_user u inner join t_class c on c.id = u.UserID
运行结果:

where 区别

左连接where只影向右表,右连接where只影响左表。 左连接后的检索结果是显示table1(左表)的所有数据和table2(右表)中满足where 条件的数据。 简言之 Left Join影响到的是右边的表 检索结果。右连接是显示table2(右表)的所有数据和table1(左表)中满足where 条件的数据。 简言之 Right Join影响到的是左边的表。

左连接(一对多)


进行左连接 ,很明显是一对多的情况。
执行结果:

https://blog.csdn.net/xiaowanzi_zj/article/details/123783849

以上是关于SQL 中left joinright joininner join的区别的主要内容,如果未能解决你的问题,请参考以下文章

SQL 中left joinright joininner join的区别

sql之left joinright joininner join的区别

sql之left joinright joininner join的区别

sql之left joinright joininner join的区别

sql之left joinright joininner join的区别

sql之left joinright joininner join的区别