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

フィルタwhere句でOracle外部結合を使用する方法

    ANSI 構文を使用する方がはるかに優れています

    SELECT *
      FROM a
           LEFT OUTER JOIN b ON( a.id = b.id and
                                 b.val = 'test' )
    

    Oracle の構文を使用して同じことを行うこともできますが、少し面倒です

    SELECT *
      FROM a, 
           b
     WHERE a.id = b.id(+)
       AND b.val(+) = 'test'
    

    どちらの場合も、 c を無視していることに注意してください 結合条件を指定していないため、テーブル。また、A を B に結合してから、C でデカルト積を生成することは実際には望んでいないと想定しています。



    1. この集計を実行するにはどうすればよいですか?

    2. フィールドをidの値に更新するMySQLトリガー

    3. カンマ区切りの列で特定の値を照会することはできますか?

    4. 月ごとに接続