加号外连接

[转]Oracle 加号外连接

亡梦爱人 提交于 2020-04-06 19:52:52
今天在一段oracle的sql语句中看到这样的写法。 SELECT ****** FROM ****** WHERE ****** AND r1.attribute13 = h1.employee_num (+) 最后面出现了小括号中间放一个加号的写法,oracle用的时候不长,不知道这是啥意思,于是摆肚一下。居然是外连接的意思,就是sql server中的left/right (outer)的意思。 ================ 对于外连接,Oracle中可以使用“(+)”来表示,标准 sql 可以使用LEFT/RIGHT/FULL OUTER JOIN,下面将配合实例一一介绍。 1. LEFT OUTER JOIN:左外关联 SELECT e.last_name, e.department_id, d.department_name FROM employees e LEFT OUTER JOIN departments d ON (e.department_id = d.department_id); 等价于 SELECT e.last_name, e.department_id, d.department_name FROM employees e, departments d WHERE e.department_id=d.department_id(+); 结果为