概要 :このチュートリアルでは、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 演算子。