Oracle连接中列名后+符号的作用是什么?
Oracle数据库连接中(+)符号的含义
在Oracle的传统连接语法里,(+)是用来实现外连接的专有标记,你的示例代码:
select a,d,f,c From table1, table2 Where table1.x(+) = table2.y;
属于右外连接,完全等价于标准SQL的写法:
SELECT a, d, f, c FROM table1 RIGHT JOIN table2 ON table1.x = table2.y;
具体作用说明:
- 它会强制返回
table2中的所有记录,哪怕table1里没有能匹配table2.y的table1.x值,此时table1对应的列会填充NULL。 - 这个语法是Oracle独有的旧写法,现在官方更推荐使用标准SQL的
LEFT JOIN/RIGHT JOIN/FULL JOIN语法,因为后者的可读性和兼容性更好。
内容的提问来源于stack exchange,提问作者Ananthu rajeev
相关产品推荐
相关产品推荐

