1

このようなクエリを使用してテーブルに結合しようとしています

SELECT * FROM table1 a, table2 b WHERE (a.ID = b.ID OR b.ID IS NULL) 

Oracle では、これは a と同等ですLEFT JOIN(他のデータベースでも同様です)。

DB2 (z/OS) で同じことを行うと、内部結合が生成b.ID IS NULLされます。句は結果に影響を与えず、それを削除しても何も変わりません。

これを DB2 で機能させる方法はありますか? これは ANSI SQL に従って動作するはずですか?

PS:JOIN構文を使用できることは承知しています。なぜこれが機能しないのか、これを回避する方法があるかどうかに興味があります。

4

1 に答える 1

2

使用できます

SELECT a.*, b.*
  FROM tbl1 a LEFT JOIN tbl2 b ON a.id=b.id; 
于 2013-04-13T14:47:33.177 に答える