左外连接,无结果最终查询

时间:2013-05-16 06:01:58

标签: sql oracle join outer-join full-outer-join

我正在执行以下查询

Select * from A a left outer join B b on (b.id = a.id)

我从A获得一条记录,而没有来自B的记录。我期待最终选择查询中的一条记录但是没有记录。

以下是一些示例数据:

A

v_id, id,      date,      d_id
1,    1244578, 02-MAR-11, 1827877

B,没有数据显示:

e_id,id,amount

我做错了什么?我怎么能这样做呢?

2 个答案:

答案 0 :(得分:0)

这应该可以正常工作:

Select *
from A a 
left outer join B b on b."id" = a."id"

请在此处查看:

这会给你:

| V_ID |      ID |      DATE |    D_ID |   E_ID | AMOUNT |
----------------------------------------------------------
|    1 | 1244578 | 02-MAR-11 | 1827877 | (null) | (null) |

答案 1 :(得分:0)

您从表A获得一条记录,这是因为表A只有一条记录而表B没有记录。 在左外连接中,第一个表的内容在第二个表的结果连接中显示,但在第二个表中没有记录,因此最终结果显示该记录的空值。