1

我正在尝试使用这样的查询离开表连接

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

在 Oracle 中,这相当于 a LEFT JOIN(在其他数据库中也是如此,afaik)。

在 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 回答