概要
UNION 演算子を使用すると、複数の SELECT 句を使用して取得した結果セットをマージできます。マージする結果セットは、同じスキーマを使用する必要があります。左オペランドと右オペランドで指定するフィールドは同じである必要があります。左オペランドで指定するフィールドのデータ型は、右オペランドで指定するフィールドのデータ型と同じである必要があります。左オペランドでフィールドを指定する順序は、右オペランドでフィールドを指定する順序と同じである必要があります。
UNION ALL 演算子を使用すると、最終結果に重複する値が含まれます。UNION 演算子を使用すると、重複する値を含まない最終結果が返されます。UNION 演算子は、UNION ALL 演算子と DISTINCT 演算子を同時に使用したときに実行される操作の組み合わせと同じ操作を実行するために使用されます。UNION 操作を実行するには、より長い時間がかかります。UNION ALL 演算子を使用することをお勧めします。
複数の結果セットの和集合を生成する場合は、ステートメントで UNION または UNION ALL を使用できます。同じステートメントで UNION と UNION ALL を指定することはできません。
サポートされているバージョン
OpenSearch Vector Search Edition V3.7.0 以降
構文
query:
select_statement
UNION [ALL]
select_statement
[UNION [ALL]
select_statement];例
2 つの結果セットをマージします。
SELECT nid, brand, price, size FROM phone WHERE nid < 5
UNION ALL
SELECT nid, brand, price, size FROM phone WHERE nid > 53 つ以上の結果セットをマージします。
SELECT
nid, brand, price, size
FROM
phone
WHERE nid >= 3 AND nid <= 5
UNION ALL
SELECT
nid, brand, price, size
FROM
phone
WHERE nid >= 6 AND nid <= 10
UNION ALL
SELECT nid, brand, price, size
FROM
phone
WHERE nid >= 30 AND nid <= 40