セット演算子 - Amazon OpenSearch Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

セット演算子

注記

このSQLコマンドをサポートする AWS データソース統合を確認するには、「」を参照してくださいサポートされている OpenSearch SQLコマンドと関数

セット演算子は、2 つの入力リレーションを 1 つのリレーションにまとめるために使用されます。 は 3 種類のセット演算子 OpenSearch SQLをサポートしています。

  • EXCEPT、または MINUS

  • INTERSECT

  • UNION

入力リレーションは、各列の列数と互換性のあるデータ型が同じである必要があります。

EXCEPT

EXCEPT と は、1 つのリレーションで見つかったが、他のリレーションでは見つからない行EXCEPT ALLを返します。 EXCEPT (または、EXCEPT DISTINCT) は個別の行のみを取り、 EXCEPT ALL は結果の行から重複を削除しません。MINUS は のエイリアスであることに注意してくださいEXCEPT

[Syntax] (構文)

[ ( ] relation [ ) ] EXCEPT | MINUS [ ALL | DISTINCT ] [ ( ] relation [ ) ]

-- Use table1 and table2 tables to demonstrate set operators in this page. SELECT * FROM table1; +---+ | c| +---+ | 3| | 1| | 2| | 2| | 3| | 4| +---+ SELECT * FROM table2; +---+ | c| +---+ | 5| | 1| | 2| | 2| +---+ SELECT c FROM table1 EXCEPT SELECT c FROM table2; +---+ | c| +---+ | 3| | 4| +---+ SELECT c FROM table1 MINUS SELECT c FROM table2; +---+ | c| +---+ | 3| | 4| +---+ SELECT c FROM table1 EXCEPT ALL (SELECT c FROM table2); +---+ | c| +---+ | 3| | 3| | 4| +---+ SELECT c FROM table1 MINUS ALL (SELECT c FROM table2); +---+ | c| +---+ | 3| | 3| | 4| +---+

INTERSECT

INTERSECT と は、両方のリレーションにある行INTERSECT ALLを返します。 INTERSECT (または、INTERSECT DISTINCT) は個別の行のみを取り、 INTERSECT ALL は結果の行から重複を削除しません。

[Syntax] (構文)

[ ( ] relation [ ) ] INTERSECT [ ALL | DISTINCT ] [ ( ] relation [ ) ]

(SELECT c FROM table1) INTERSECT (SELECT c FROM table2); +---+ | c| +---+ | 1| | 2| +---+ (SELECT c FROM table1) INTERSECT DISTINCT (SELECT c FROM table2); +---+ | c| +---+ | 1| | 2| +---+ (SELECT c FROM table1) INTERSECT ALL (SELECT c FROM table2); +---+ | c| +---+ | 1| | 2| | 2| +---+

UNION

UNION と は、いずれかのリレーションで見つかった行UNION ALLを返します。 UNION (または、UNION DISTINCT) は個別の行のみを取りますが、 UNION ALL は結果の行から重複を削除しません。

[Syntax] (構文)

[ ( ] relation [ ) ] UNION [ ALL | DISTINCT ] [ ( ] relation [ ) ]

(SELECT c FROM table1) UNION (SELECT c FROM table2); +---+ | c| +---+ | 1| | 3| | 5| | 4| | 2| +---+ (SELECT c FROM table1) UNION DISTINCT (SELECT c FROM table2); +---+ | c| +---+ | 1| | 3| | 5| | 4| | 2| +---+ SELECT c FROM table1 UNION ALL (SELECT c FROM table2); +---+ | c| +---+ | 3| | 1| | 2| | 2| | 3| | 4| | 5| | 1| | 2| | 2| +---+