外连接的 Oracle 用法挺有意思的,尤其是那个(+)符号,真是老 SQL 开发的“祖传秘方”。你可以用它查出一张表里那些在另一张表中找不到匹配的数据,响应快,语法也不复杂。
写法其实直观,比如左外连接就是:
SELECT t1.column, t2.column
FROM table1 t1, table2 t2
WHERE t1.column(+) = t2.column;
右外连接就换个位置:
SELECT t1.column, t2.column
FROM table1 t1, table2 t2
WHERE t1.column = t2.column(+);
记住哦,(+)只能放在缺数据的那一边,不能两边都放,不然 Oracle 会直接翻脸报错。
像做报表、查日志缺失记录的时候,这招好用。如果你 SQL 写得多,建议熟悉一下,它比你想的还实用。相关的深入文章你也可以去看看:详解 oracle 外连接的用法,案例清楚。