すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:UNION、INTERSECT、EXCEPT

最終更新日:Jun 11, 2024

UNIONINTERSECT、およびEXCEPT演算子を使用して、複数のクエリ結果セットを1つの結果セットに結合できます。

構文

クエリ
{UNION [すべて] | INTERSECT | 例外}
クエリ 

パラメーター

  • UNION: 2つの結果セットの和集合を返します。
  • UNION ALL: 重複行を保持した2つの結果セットの和集合を返します。 ALLキーワードは、UNION計算後に重複行が保持されることを示します。
  • INTERSECT: 2つの結果セットの共通部分を返します。
  • EXCEPT: 最初の結果セットには表示されますが、他の結果セットには表示されない行を返します。

計算シーケンス

  • UNIONEXCEPT演算子は左連想です。 つまり、計算順序を変更するために括弧 () を使用しない場合、計算は左から右に始まります。

    たとえば、次のステートメントでは、UNION演算子はT1T2の和集合を返します。 次に、EXCEPT演算子は、union演算子によって返された和集合にのみ表示される行を返しますが、T3は返しません。

    select * from t1
    ユニオン
    select * from t2
    を除く
    select * from t3
    注文によってc1; 
  • 同じステートメントで、INTERSECT演算子はUNIONおよびEXCEPT演算子よりも優先されます。

    たとえば、次のステートメントでは、T2T3の交点を見つけ、次に交点とT1の和集合を見つけます。

    select * from t1
    ユニオン
    select * from t2
    交差
    select * from t3
    注文によってc1; 
  • 括弧 () を使用して、これらの演算子の計算順序を変更できます。

    たとえば、次のステートメントでは、T1T2の和集合を見つけ、次に和集合とT3の交点を見つけます。

    (t1から * を選択
    ユニオン
    select * from t2)
    交差
    (t3から * を選択)
    注文によってc1;