次のような構文を持つ OracleのWHERE
表現があることを知っています。LEFT JOIN
FROM t1, t2
WHERE t1.id = t2.id(+)
それ以外の:
FROM t1 LEFT JOIN t2
ON t1.id = t2.id
PostgreSQL に似たようなものはありますか? ドキュメントを検索しましたが、そのような機能は見つかりませんでした。
次のような構文を持つ OracleのWHERE
表現があることを知っています。LEFT JOIN
FROM t1, t2
WHERE t1.id = t2.id(+)
それ以外の:
FROM t1 LEFT JOIN t2
ON t1.id = t2.id
PostgreSQL に似たようなものはありますか? ドキュメントを検索しましたが、そのような機能は見つかりませんでした。
Postgres (または標準 SQL) にはそのような演算子はありません。
Postgres で外部結合を記述する唯一の方法は、ANSI の明示的な JOIN 構文を使用することです。
select *
from table t1
left join table t2 on t1.id = t2.id;
(またはその逆かもしれません - Oracle演算子を最後に使用してから何年も経っています)(+)
マニュアルの詳細: http://www.postgresql.org/docs/current/static/queries-table-expressions.html#QUERIES-FROM
(+)
そもそもOracleで演算子を使用するべきではありません。Oracle は 9i 以降 ANSI 結合をサポートしており、Oracle は(+)
演算子の使用を停止することを推奨しています (上記のステートメントは Oracle でも問題なく機能します)。