SQL 1
select a.*,b.,c.*,d.* from Table_A as a
inner join Table_B as b
on a.ID = b.ReferenceID
inner join Table_C as c
on b.ID = c.ReferenceID
inner join Table_D as d
on c.ID = d.ReferenceID
where a.SKU = '123456789'
SQL 2
select a.*,b.,c.*,d.* from Table_A as a
inner join Table_B as b
on a.ID = b.ReferenceID
and a.SKU = '123456789'
inner join Table_C as c
on b.ID = c.ReferenceID
inner join Table_D as d
on c.ID = d.ReferenceID不考虑数据库设计的问题,两条SQL的性能更好?
看过一些书是说先join后where..这样的话...是不是SQL 2 比较好.?
各位看法如何..?
select a.*,b.,c.*,d.* from Table_A as a
inner join Table_B as b
on a.ID = b.ReferenceID
inner join Table_C as c
on b.ID = c.ReferenceID
inner join Table_D as d
on c.ID = d.ReferenceID
where a.SKU = '123456789'
SQL 2
select a.*,b.,c.*,d.* from Table_A as a
inner join Table_B as b
on a.ID = b.ReferenceID
and a.SKU = '123456789'
inner join Table_C as c
on b.ID = c.ReferenceID
inner join Table_D as d
on c.ID = d.ReferenceID不考虑数据库设计的问题,两条SQL的性能更好?
看过一些书是说先join后where..这样的话...是不是SQL 2 比较好.?
各位看法如何..?
没有区别.
left join
结果可能不一样.因此没有可比性.
left join就不一样了