Advertisements

SQL UNION句/演算子は、重複する行を返さずに複数のSELECTステートメントの結果を結合するために使用されます。,

このUNION句を使用するには、各SELECTステートメントに

  • 選択された列数と同じ数の列式が必要です。
  • 同じデータ型と
  • 同じ順序でそれらを持つ

ただし、同じ長さである必要はありません。

構文

UNION句の基本的な構文は次のとおりです。

ここで、指定された条件は、要件に基づいて任意の式にすることができます。

次の二つの表を考えてみましょう。

テーブル1-顧客テーブルは次のとおりです。,

表2-注文テーブルは次のとおりです。

さて、次のようにSELECTステートメントでこれら二つのテーブルを結合しましょう−

SQL> SELECT ID, NAME, AMOUNT, DATE FROM CUSTOMERS LEFT JOIN ORDERS ON CUSTOMERS.ID = ORDERS.CUSTOMER_IDUNION SELECT ID, NAME, AMOUNT, DATE FROM CUSTOMERS RIGHT JOIN ORDERS ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;

これにより、次の結果が生成されます−

UNION ALL句

UNION ALL演算子は、重複行を含む二つのSELECTステートメントの結果を組み合わせるために使用されます。

UNION句に適用されるのと同じ規則がUNION ALL演算子に適用されます。

構文

UNION ALLの基本的な構文は次のとおりです。

ここでは、指定された条件は、要件に基づいて任意の式にすることができます。,

次の二つのテーブルを考えてみましょう、

テーブル1−顧客テーブルは次のとおりです。

表2-注文テーブルは次のとおりです。

さて、次のようにSELECTステートメントでこれら二つのテーブルを結合しましょう−

SQL> SELECT ID, NAME, AMOUNT, DATE FROM CUSTOMERS LEFT JOIN ORDERS ON CUSTOMERS.ID = ORDERS.CUSTOMER_IDUNION ALL SELECT ID, NAME, AMOUNT, DATE FROM CUSTOMERS RIGHT JOIN ORDERS ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;

これにより、次の結果が生成されます−

UNION句のような他の二つの句(つまり、演算子)があります。

  • SQL INTERSECT句−これは二つのSELECT文を組み合わせるために使用されますが、第二のSELECT文の行と同一である最初のSELECT文からの行のみを返します。,

  • SQL EXCEPT句-これは二つのSELECT文を結合し、第二のSELECT文によって返されない最初のSELECT文からの行を返します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です