1
我想留下使用這樣的查詢使用IS NULL進行左連接在DB2中不起作用?
SELECT * FROM table1 a, table2 b WHERE (a.ID = b.ID OR b.ID IS NULL)
在Oracle加入到表,這是相當於LEFT JOIN
(和其他的數據庫以及,據我所知)。
在DB2(z/OS)中執行相同的操作會生成內部聯接 - b.ID IS NULL
子句對結果沒有影響,刪除它不會改變任何內容。
有沒有辦法在DB2中完成這項工作?這是否應該根據ANSI SQL工作?我知道我可以使用JOIN
的語法,我只是感興趣,爲什麼這不起作用,如果有辦法解決這個問題。
您的查詢不等同於'LEFT JOIN'。使用Oracle,您可以使用'(+)'代替'LEFT JOIN',如下所示:'SELECT * FROM table1 a,table2 b where a.ID = b.ID(+)' – lunr
您的聲明是*** NOT ** *相當於Oracle中的「LEFT JOIN」。 –