返回所有行,即使equals不返回任何数据(Oracle SQL)
我希望能够查询2个表,并最终返回2列中的所有内容,即使参数不匹配。检查表中未填充的位置,DO_表有一个REF,CO_表有一个ORDER_编号。每个REF都应该有一个ORDER_编号 因此,这将返回所有内容:返回所有行,即使equals不返回任何数据(Oracle SQL),sql,oracle,Sql,Oracle,我希望能够查询2个表,并最终返回2列中的所有内容,即使参数不匹配。检查表中未填充的位置,DO_表有一个REF,CO_表有一个ORDER_编号。每个REF都应该有一个ORDER_编号 因此,这将返回所有内容: SELECT a.REF, b.ORDER_NO FROM DO_TABLE a, CO_TABLE b WHERE a.REF=b.ORDER_NO 结果是 REF |ORDER_NO 06191796 |06191796 06191794 |0619
SELECT a.REF, b.ORDER_NO
FROM DO_TABLE a, CO_TABLE b
WHERE a.REF=b.ORDER_NO
结果是
REF |ORDER_NO
06191796 |06191796
06191794 |06191794
06191678 |06191678
06191797 |06191797
06191806 |06191806
但我想在订单号不存在时显示参考号,因此如果第2和第4参考号没有订单号,则看起来像:
REF |ORDER_NO
06191796 |06191796
06191794 |
06191678 |06191678
06191797 |
06191806 |06191806
任何帮助,都会收到
TJ切勿在FROM
子句中使用逗号。始终使用正确、明确的JOIN
语法。如果这样做,您将了解外部联接:
SELECT a.REF, b.ORDER_NO
FROM DO_TABLE a LEFT JOIN
CO_TABLE b
ON a.REF = b.ORDER_NO;
瞧