我有三個表:R,S和P.SQL連接三個表,連接優先
表R通過外鍵連接S;有應該是S中至少一個的記錄,所以我可以加入:
SELECT
*
FROM
R
JOIN S ON (S.id = R.fks)
如果有S中的任何記錄,那麼我沒有得到任何行,這很好。
然後表信息系統S有P連接,其中的記錄爲P可能會或可能不會出現,並與S.
加入所以我做
SELECT
*
FROM
R
JOIN S ON (S.id = R.fks)
LEFT JOIN P ON (P.id = S.fkp)
,如果我想要第二個連接被捆綁與S不是R,就像如果我可以使用括號:
SELECT
*
FROM
R
JOIN (S ON (S.id = R.fks) JOIN P ON (P.id = S.fkp))
或者是,R,S和P之間的乘積的已經是一個自然的行爲?
你能否解釋一下這部分「如果我想第二個連接被束縛不是以R」 眼下表的連接爲R帶S加入,然後留下P. – 2010-09-23 16:05:37
加入我試着瞭解是否有一種方法可以優先考慮連接,就像它們是算術運算符一樣。如果這在連接條件中是隱含的,我不明白。 – vulkanino 2010-09-23 16:08:21
給我們一個你希望實現的與普通聯接不同的數據例子,我們可以更好地告訴你該怎麼做。派生表可能做你想做的事情,但我不確定你想要什麼。 – HLGEM 2010-09-23 17:25:29