0

トピック。私は混乱していて、それについての良い説明が本当に必要です.

ありがとう!

4

3 に答える 3

3

(+) 構文が以前ほど使用されなくなったのには、いくつかの理由があります。

  • Oracle は ANSI 構文を完全にサポートするようになりました (これは、以前の Oracle バージョンには当てはまりませんでした)。
  • ANSI 構文は異なる RDBMS 間で移植可能ですが、(+) はそうではありません
  • ANSI 構文は、結合条件をフィルター条件から分離しているため、(ほぼ間違いなく) より読みやすくなっています。
  • (+) 構文で FULL OUTER JOIN を実行することはできません
  • ANSI構文では、複数の列でOUTER JOINを実行できますが、(AFAIK)これは(+)構文では不可能です
于 2013-01-08T15:55:13.887 に答える
2

+ 表記は Oracle ベンダー固有の形式であり、ベンダー間で一貫性がありません。MS SQL Server には * を使用した同様の形式があり、これが大きな混乱を引き起こします。* は = の反対側にあると思います。LEFT JOIN などと言う ANSI 形式の方がはるかに読みやすく、標準です。

古い形式の方がやりやすいことがいくつかあるので、今でも時々見かけます。それを見るたびに、前の時間に戻り、ベルボトムのズボンをはいて、作者が何を望んでいたかを理解する必要があります.

于 2013-01-08T15:52:59.113 に答える
0

OUTER/INNER 結合構文を使用して、ANSI SQL で指定する方法があります。

(+) 構文をサポートしているのは、Oracle と別のベンダーである可能性があるため、すべてのデータベースでサポートされているものを使用することをお勧めします。

于 2013-01-08T15:50:59.743 に答える