左连接查询(LEFT JOIN)注意事项

简介:
  • 左连接查询条件(ON)要确保条件唯一,否则会生成多个值

例:

select c.card_id,cc.card_number from `vip_card_change` as cc left join `vip_card` as c on cc.card_number=c.card_number and cc.store_key=c.store_key;

而不是:

select c.card_id,cc.card_number from `vip_card_change` as cc left join `vip_card` as c on cc.card_number=c.card_number;



本文转自 Lee_吉  博客,原文链接:  http://blog.51cto.com/12173069/1979537      如需转载请自行联系原作者

相关文章
|
SQL Oracle 关系型数据库
解决:Oracle数据库中Left join on 后面为null时匹配不上
解决:Oracle数据库中Left join on 后面为null时匹配不上
304 0
|
17天前
|
SQL
LEFT JOIN
【11月更文挑战第07天】
13 3
|
关系型数据库 MySQL
关于MySQL中的LEFT JOIN和LEFT OUTER JOIN的区别
LEFT JOIN是LEFT OUTER JOIN的简写版;
222 0
|
关系型数据库 MySQL 数据库
MySQL inner join on、外连接、left join、right join
MySQL inner join on、外连接、left join、right join
157 0
MySQL inner join on、外连接、left join、right join
右连接(RIGHT JOIN)实例
右连接(RIGHT JOIN)实例
62 0
|
SQL 关系型数据库 MySQL
Join,left join,right join(1)--连接原理(三十九)
Join,left join,right join(1)--连接原理(三十九)
|
SQL 数据库
left join 后用 on 还是 where,区别大了!
前天写SQL时本想通过 A left B join on and 后面的条件来使查出的两条记录变成一条,奈何发现还是有两条。 后来发现 join on and 不会过滤结果记录条数,只会根据and后的条件是否显示 B表的记录,A表的记录一定会显示。 不管and 后面的是A.id=1还是B.id=1,都显示出A表中所有的记录,并关联显示B中对应A表中id为1的记录或者B表中id为1的记录。
132 0
left join 后用 on 还是 where,区别大了!
|
SQL 关系型数据库 MySQL
正确理解Left join
通俗来讲,left join就是以左表作为主表,结果返回左表的所有记录,右表满足条件记录正常显示,满足条件记录使用NULL做填充,一般业务中我们需要显示左表全部记录时才会使用left join。另外,某些情况下MySQL优化器会将我们的left join改写为join,什么情况下MySQL会做这样的优化?
1411 0
|
Oracle 关系型数据库 Linux
Oracle 左连接(left join) 排序问题
项目环境:linux、tomcat8.5、SSM框架、oracle11g 项目中一个列表查询,使用了左连接(left join),类似这样: select * from A left join B on A.
3047 0