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的区别