我知道Oracle中WHERE
代表LEFT JOIN
的语法如下:
FROM t1, t2
WHERE t1.id = t2.id(+)
而不是:
FROM t1 LEFT JOIN t2
ON t1.id = t2.id
PostgreSQL中有类似的东西吗?我搜索了文档,但未能找到这样的功能。
答案 0 :(得分:7)
Postgres(或标准SQL)中没有这样的运算符。
在Postgres中编写外连接的唯一方法是使用ANSI显式JOIN语法:
select *
from table t1
left join table t2 on t1.id = t2.id;
(或者它可能反过来 - 自从我上次使用Oracle (+)
运算符以来 age )
手册中的更多详细信息:http://www.postgresql.org/docs/current/static/queries-table-expressions.html#QUERIES-FROM
首先,您不应该在Oracle中使用(+)
运算符。自9i以来,Oracle一直支持ANSI连接,Oracle建议停止使用(+)
运算符(以上语句在Oracle中也可以正常工作)