思路话语

。Arlen:思想有多远你就能走多远...

left join on 直接带条件和加在where后边的区别

直接将条件加在On中表示用该条件来作为连接条件,那么既然是left join,当被连接的表中没有匹配记录时也会用Null来代替。而加在where中则会在左连接后,对结果按此条件进行过滤。

 

用两个同构表作测试:

create table testx/testy
(
name varchar(50) default '',
age int
)

insert into testx(name,age)values('arlen',20),('tommy',19);

insert into testy(name,age)values('arlen',20);

 

select * from testx left join testy on testx.name=testy.name and testx.age=20

结果:

arlen 20 arlen 20

arlen 20 null null

 

select * from testx left join testy on testx.name=testy.name where testx.age=20

结果:

arlen 20 arlen 20

posted on 2010-05-31 11:31  Arlen  阅读(1018)  评论(0编辑  收藏  举报

导航