概要 :このチュートリアルでは、SQLite UNION
の使用方法を学習します 2つ以上のクエリの結果セットを1つの結果セットに結合する演算子。
SQLite UNION
の紹介 オペレーター
複数のテーブルのデータを組み合わせて完全な結果セットにする必要がある場合があります。同じデータベース内に類似したデータを持つテーブルの場合もあれば、複数のデータベースの類似したデータを組み合わせる必要がある場合もあります。
2つ以上のクエリの行を1つの結果セットに結合するには、SQLite UNION
を使用します オペレーター。次に、UNION
の基本的な構文を示します。 演算子:
query_1
UNION [ALL]
query_2
UNION [ALL]
query_3
...;
Code language: SQL (Structured Query Language) (sql)
両方のUNION
およびUNION ALL
演算子は、結果セットの行を1つの結果セットに結合します。 UNION
UNION ALL
に対して、演算子は重複する行を削除します オペレーターはしません。
UNION ALL
演算子は重複する行を削除せず、UNION
よりも高速に実行されます オペレーター。
ユニオンデータのルールは次のとおりです。
- すべてのクエリの列数は同じである必要があります。
- 対応する列には互換性のあるデータ型が必要です。
- 最初のクエリの列名によって、結合された結果セットの列名が決まります。
-
GROUP BY
およびHAVING
句は、最終的な結果セットではなく、個々のクエリに適用されます。 -
ORDER BY
句は、個々の結果セット内ではなく、結合された結果セットに適用されます。
UNION
の違いに注意してください およびJOIN
例:INNER JOIN
またはLEFT JOIN
JOIN
ということです 句は列を結合します 複数の関連するテーブルから、UNION
行を組み合わせる 複数の類似したテーブルから。
次の構造を持つ2つのテーブルt1とt2があるとします。
CREATE TABLE t1(
v1 INT
);
INSERT INTO t1(v1)
VALUES(1),(2),(3);
CREATE TABLE t2(
v2 INT
);
INSERT INTO t2(v2)
VALUES(2),(3),(4);
Code language: SQL (Structured Query Language) (sql)
次のステートメントは、UNION
を使用してt1テーブルとt2テーブルの結果セットを結合します。 演算子:
SELECT v1
FROM t1
UNION
SELECT v2
FROM t2;
Code language: SQL (Structured Query Language) (sql)
出力は次のとおりです:
次の図は、UNION
を示しています。 t1およびt2テーブルの操作:
次のステートメントは、UNION ALL
を使用して、t1テーブルとt2テーブルの結果セットを結合します。 演算子:
SELECT v1
FROM t1
UNION ALL
SELECT v2
FROM t2;
Code language: SQL (Structured Query Language) (sql)
次の図は出力を示しています:
次の図は、UNION ALL
を示しています。 t1およびt2テーブルの結果セットの操作:
SQLite UNION
例
UNION
の使用例をいくつか見てみましょう。 オペレーター。
1)SQLite UNION
例
このステートメントはUNION
を使用します 従業員と顧客の名前を1つのリストにまとめる演算子:
SELECT FirstName, LastName, 'Employee' AS Type
FROM employees
UNION
SELECT FirstName, LastName, 'Customer'
FROM customers;
Code language: SQL (Structured Query Language) (sql)
出力は次のとおりです:
2)SQLite UNION
ORDER BY
を使用 例
この例では、UNION
を使用しています オペレーターは、従業員と顧客の名前を1つのリストに結合します。さらに、ORDER BY
を使用します 名前リストを名と姓で並べ替える句。
SELECT FirstName, LastName, 'Employee' AS Type
FROM employees
UNION
SELECT FirstName, LastName, 'Customer'
FROM customers
ORDER BY FirstName, LastName;
Code language: SQL (Structured Query Language) (sql)
出力は次のとおりです:
このチュートリアルでは、SQLite UNION
の使用方法を学びました。 結果セットの行を単一の結果セットに結合する演算子。 UNION
の違いも学びました およびUNION ALL
演算子。