メインコンテンツまでスキップ
メインコンテンツまでスキップ

INTERSECT 句

INTERSECT 句は、最初のクエリと二番目のクエリの両方からの結果となる行のみを返します。クエリは、カラムの数、順序、および型が一致する必要があります。 INTERSECT の結果には重複行が含まれることがあります。

複数の INTERSECT ステートメントは、括弧が指定されていない場合、左から右へ実行されます。 INTERSECT 演算子は、 UNIONEXCEPT 句よりも優先度が高いです。

条件は、要件に基づいた任意の式である可能性があります。

こちらは、1から10の数字を3から8の数字と交差させる簡単な例です。

結果:

INTERSECT は、共通のカラム(またはカラム)を持つ二つのテーブルがある場合に便利です。結果が同じカラムを含む限り、二つのクエリの結果を交差させることができます。たとえば、取引価格と取引量を含む数百万行の歴史的な暗号通貨データがあるとします。

次に、保有している暗号通貨のリストと、そのコイン数を含む holdings というテーブルがあるとします。

INTERSECT を使って 「$100以上で取引されたコインはどれですか?」 という質問に答えることができます。

結果:

これは、ある時点で Bitcoin と Ethereum が 100を超えて取引されたことを意味し、DOGEFIBitcoinDiamondはこの例のデータでは100 を超えて取引されたことを意味し、DOGEFI と Bitcoin Diamond はこの例のデータでは 100 を超えて取引されたことはありません。

INTERSECT DISTINCT

以前のクエリでは、$100を超えて取引された複数の Bitcoin と Ethereum の保有がありました。重複した行を削除することができれば良いでしょう(すでに知っている情報を繰り返すだけなので)。重複行を結果から排除するには、 INTERSECTDISTINCT を追加できます。

結果:

参照