java左外连接,左外连接表中的空值

在尝试从Oracle数据库的两个表中获取所有数据,包括Table2的NULL值行时,遇到了困难。使用左外连接(LEFT JOIN)或者 Oracle 的 (+) 运算符未能返回期望的结果。具体问题在于查询未包含Table2的NULL值行。解决方案是正确构造左外连接查询以确保包含所有Table2的记录。
摘要由CSDN通过智能技术生成

在尝试从2个表中进行选择时,我在Oracle中遇到这种情况:

表1

-------------

Col1 Col2

-------------

1 abc

2 aa

3 lab

4 mm

5 nn

6 kk

7 pp

表2

-----------

Col1 Col2

----------

4 xxx

7 yyy

(null) zzz

我想在我的选择中包括Table2的所有行,包括(null)zzz . 我在做的是 -

SELECT column1, column2,….FROM Table1, Table2 Where table1.col1 = Table2.col1(+)

但它没有给我表2中的NULL值行 .

我尝试在col1上使用左外连接的OR条件,但它不起作用 .

SELECT column1, column2,…. FROM Table1, Table2 Where table1.col1 = Table2.col1(+) OR Table2.Col1 IS NULL

这是预期的输出:

Col1 Table1.Col2 Table2.Col2

--------------------------------

1 abc (null)

2 aa (null)

3 lab (null)

4 mm xxx

5 nn (null)

6 kk (null)

7 pp yyy

(null) (null) zzz

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值