在下面的查詢中,我想將外部連接留在table3上。不應該導致ID大於table1中的表ID的所有行。爲什麼我的SQL查詢不能正常工作?
這對我來說應該返回table3中所有大於table1 ID的行。那麼情況並非如此。
問題:這是否應該返回所有具有 大於table1 ID的ID的行?
注:我知道,從條款 在周圍切換表的順序會改變所產生的數據集。
select t1.ID, t1.Value,
t3.ID, t3.Value
from table1 as t1
left outer join
table3 as t3 on t1.ID > t3.ID;
結果:
1 First NULL NULL
2 Second 1 First
表1:
ID Value
1 First
2 Second
表3:
ID Value
1 First
2 Second
3 Third
4 Fourth
5 Fifth
6 Sixth
7 Seventh
8 Eighth
此查詢返回結果表,我認爲它應該用於此類查詢。但第一個例子並不像我認爲的那樣工作。因爲這會匹配所有正確的tabel,其ID小於當前的t1.ID,這是它應該如何工作的。 (看上面)
select t1.ID, t1.Value,
t3.ID, t3.Value
from table1 as t1
left outer join
table3 as t3 on t1.ID < t3.ID;
結果:
1 First 2 Second
1 First 3 Third
1 First 4 Fourth
1 First 5 Fifth
1 First 6 Sixth
1 First 7 Seventh
1 First 8 Eighth
2 Second 3 Third
2 Second 4 Fourth
2 Second 5 Fifth
2 Second 6 Sixth
2 Second 7 Seventh
2 Second 8 Eighth
所以**你認爲第一個結果集有什麼錯誤? – podiluska
'x> y'表示'x'大於'y'。再看看你在''''的兩邊有什麼。 –