跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

sql left join 命令详解

给个通俗的解释吧.

例表a

aid adate

1 a1

2 a2

3 a3

表b

bid bdate

1 b1

2 b2

4 b4

两个表a,b相连接,要取出id相同的字段

select * from a inner join b on a.aid = b.bid这是仅取出匹配的数据.

此时的取出的是:

1 a1 b1

2 a2 b2

那么left join 指:

select * from a left join b on a.aid = b.bid

首先取出a表中所有数据,然后再加上与a,b匹配的的数据

此时的取出的是:

1 a1 b1

2 a2 b2

3 a3 空字符

同样的也有right join

指的是首先取出b表中所有数据,然后再加上与a,b匹配的的数据

此时的取出的是:

1 a1 b1

2 a2 b2

4 空字符 b4

LEFT JOIN 或 LEFT OUTER JOIN。

左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。

您可能感兴趣的文章:MySQL利用profile分析慢sql详解(group left join效率高于子查询)

mysql not in、left join、IS NULL、NOT EXISTS 效率问题记录SQL之left join、right join、inner join的区别浅析解析sql语句中left_join、inner_join中的on与where的区别sql 左连接和右连接的使用技巧(left join and right join) SQL中的left join right join超详细mysql left join,right join,inner join用法分析SQL 外链接操作小结 inner join left join right join sql中left join的效率分析与提高效率方法

相关文章