Friday, January 17, 2014

A left join in sql server has to be followed by left joins

otherwise it acts like a where cause

consider:

create table #a(a int,b int ,c int)
create table #b(a int,f varchar(100) ,g varchar(100))
create table #c(g varchar(100),q varchar(100) ,x varchar(100))
insert into #a values(1,4,7),(3,6,9)
insert into #b values(1,'dsfsf','g'),(1,'wqeqe','t')
insert into #c values('g','4','7'),('u','dfgdg','gfhfh')

select * from #a left join #b on #a.a = #b.a
  left join #c on #c.g = #b.g



drop table #a
drop table #b

drop table #c



but 

select * from #a left join #b on #a.= #b.a
  inner join #c on #c.= #b.g

gives:


No comments:

Post a Comment