3

次のような構文を持つ OracleのWHERE表現があることを知っています。LEFT JOIN

  FROM t1, t2
 WHERE t1.id = t2.id(+)

それ以外の:

  FROM t1 LEFT JOIN t2
    ON t1.id = t2.id

PostgreSQL に似たようなものはありますか? ドキュメントを検索しましたが、そのような機能は見つかりませんでした。

4

1 に答える 1

8

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 でも問題なく機能します)。

于 2013-10-22T09:49:43.927 に答える