如何在oracle中联接2个包含null的表?
在apex oracle中,您是如何做到这一点的?我已经试过用这个了如何在oracle中联接2个包含null的表?,oracle,join,left-join,Oracle,Join,Left Join,在apex oracle中,您是如何做到这一点的?我已经试过用这个了 select br_book.title, br_publisher.name from br_book left outer join br_publisher on br_book.publisherid=br_publisher.publisherid 结果不是我想要的 这里的问题和结果应该是 显示每个图书标题的出版商名称,包括没有出版商的图书和没有出版图书的出版商。给出了预期的结果 结果 您应该添加缺少的结果,并在表
select br_book.title, br_publisher.name
from br_book left outer join br_publisher on br_book.publisherid=br_publisher.publisherid
结果不是我想要的
这里的问题和结果应该是
显示每个图书标题的出版商名称,包括没有出版商的图书和没有出版图书的出版商。给出了预期的结果
结果您应该添加缺少的结果,并在表中插入一个左连接
select br_book.title, br_publisher.name
from br_book
left join br_publisher on br_book.publisherid=br_publisher.publisherid
union
select br_book.title, br_publisher.name
from br_publisher
left br_book join on br_book.publisherid=br_publisher.publisherid
where br_book.publisherid is null
或者添加一个右连接
select br_book.title, br_publisher.name
from br_book
left join br_publisher on br_book.publisherid=br_publisher.publisherid
right join br_publisher br_book join on br_book.publisherid=br_publisher.publisherid
从技术上讲,NULL不是一个值。由于这个原因,NULL总是不同于NULL。试试这个:
select br_book.title, br_publisher.name
from br_book left outer join br_publisher on IFNULL(br_book.publisherid,'XyX') = IFNULL(br_publisher.publisherid, 'XyX')
MYSQL还是ORACLE?您正在寻找的语法是完整的外部联接。支持此语法,但顺便说一句,请不要将MySQL问题标记为
[oracle]
。Oracle公司确实拥有MySQL,但它们是两个具有不同功能和语法的独立产品。使用相互冲突的标签会让其他人看你的问题时感到困惑。嗨。请仅为方便补充文本和/或为文本中无法给出的内容使用图像。使用编辑函数内联,而不是链接,如果你有代表-使你的文章自我包含。不要给出没有图例/键的图表。