关于 FROM tableA,tableB 和 tableA LEFT JOIN tableB on 的区别
2009-05-05 14:15
429 查看
关于 FROM tableA,tableB 和 tableA LEFT JOIN tableB on 的区别
例表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 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
例表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 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
相关文章推荐
- 关于 FROM tableA,tableB 和 tableA LEFT JOIN tableB on 的区别
- 关于 FROM a,b 和 a LEFT JOIN b on 的区别 ...
- 关于数据库中使用 left join on ...and ...和 left join on ....where ...区别,和使用group by 要注意的情况
- 关于 FROM a,b where a.id=b.id和 a LEFT JOIN b on a.id=b.id的区别
- LEFT JOIN ON 后面跟多个条件和Where的区别
- 【mysql】left join on and 和 where的区别
- left join on and 与 left join on where的区别
- left join on and与left join on where的区别
- 转!!left join on and 与 left join on where的区别
- left join on and与left join on where的区别
- 解析sql语句中left_join、inner_join中的on与where的区别
- left join on与where的区别
- 左连接 A left join B on A.a = B.a and/where的区别
- SQL 查询条件放在LEFT OUTER JOIN 的ON语句后与放在WHERE中的区别
- Mysql左连接left join on与右连接 right join on,内连接union区别
- left join on and与left join on where的区别
- left join on and 与 left join on where的区别
- SQL 查询条件放在LEFT OUTER JOIN 的ON语句后与放在WHERE中的区别
- left join on and与left join on where的区别
- 解析sql语句中left_join、inner_join中的on与where的区别