sql >> データベース >  >> RDS >> Oracle

2番目のテーブルのフィルター条件を使用したOracle外部結合

    いいえ、結果セットが異なる条件はありません。

    しかし、あなたの仮定は「a.id = b.id(+) 意味がありません」は100%正しくありません。あります 結合を定義するため、意味があります。そうでない場合、これはaとbのすべての行を含むaとbのデカルト積になります。name='XYZ'。

    効果がないのは(+)です 、ステートメントが「意味的に」間違っているため。 idで外部結合するのではなく、nameで結合するのは意味がありません。

    通常、そのようなものが必要です:

    select  * from a,b where a.id =b.id(+) and b.name(+) = 'XYZ';
    

    http://www.sqlfiddle.com/#!4/d19b4/の短い例15




    1. PostgreSQLテーブルのIDのシーケンスをリセットする方法

    2. SQL Server(T-SQL)で添付ファイル付きの電子メールを送信する

    3. Oracle MD5ハッシュ関数を呼び出す方法は?

    4. 異なる日の個々の最大値の差をどのように取得できますか?