Oracleの外部結合演算子の覚え方を教えてください。

ANSI準拠の構文で
 select a.a, b.b
  from a LEFT OUTER JOIN b
  ON a.b = b.b;
というSQLがOracle特有の構文だと
 select a.a, b.b
  from a, b
  where a.b = b.b(+);

ANSI準拠の構文だと、「"LEFT"が常に表示」と簡単に覚えられるのですが、
Oracle特有の構文だと、処理の意味と構文"(+)"を関連付けられず、覚えられません。
うまいやり方を教えてください。

回答の条件
  • 1人2回まで
  • 登録:2009/03/04 19:43:15
  • 終了:2009/03/10 12:45:21

回答(2件)

id:legnum No.1

legnum回答回数43ベストアンサー獲得回数52009/03/04 20:41:22

ポイント35pt

バージョンが書かれてないので何ともですがoralce9iからLEFT OUTER JOINが使えますよ

http://www.shift-the-oracle.com/sql/left-right-outer-join.html

自分の考え方は

(+)を付ける必要がある→足りない場合もあるからだ→(+)がついてない方は常に表示

みたいな感覚ですかねえ

id:kenz-firespeed No.2

Kenz回答回数104ベストアンサー獲得回数32009/03/04 21:48:30

ポイント35pt

私は(+)で付け加える って覚えてました。

付け加えるから、無くても良いし、あったら表示される。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません