--query 1是什麼這兩個之間的區別查詢
select distinct af.Code from AIR af inner join
Float spf on spf.Station = af.AirID or
spf.DeptStation = af.AirID
--query 2
select distinct af.Code from AIR af
inner join Float spf on spf.Station = af.AirID
inner join Float spf1 on spf.DeptStation = af.AirID
在第一個查詢我得到一些更多的條目(大約10)比較時,第二。根據我的看法,這種差異不應該存在。如果有人可以分解查詢來告訴我的差異(如果有),這將是有益的。
http://stackoverflow.com/questions/5901791/is-having-an-or-in-an-inner-join-condition-a-bad-想法 –
第一個使用'OR',而第二個使用'AND'。因此,第一個查詢將返回具有匹配站**或**匹配的部門站的所有記錄。第二個更嚴格,因爲它只返回兩個匹配的記錄。所以它類似於(如Bastos寫的)'內部連接浮點spf在spf.Station = af.AirID和spf.DeptStation = af.AirID'上。 –
@TimSchmelter它仍然不清楚對我:(對不起, –