SQL——UNION(複数のクエリー結果をマージ)
864 ワード
UNION
1、UNIONは2つ以上のSELECT文で構成しなければならない.文間はUNIONキーで区切られます.
2、UNIONの各クエリには、同じカラム、式、または集計関数が含まれている必要があります(ただし、各カラムは同じ順序でリストする必要はありません).
3、カラムデータ型は互換性があり、タイプが完全に同じである必要はありませんが、DBMSが暗黙的にタイプを変換できる必要があります.
4、UNIONはクエリ結果セットから重複行を自動的に除去する.
5.各条件の一致行が全て出現する必要がある場合(重複行を含む)、WHEREではなくユニオンALLを使用しなければならない.
6、UNIONのコンビネーションクエリを使用する場合、異なるテーブルを適用することができます.
7、UNIONコンビネーションクエリを使用する場合、ORDER BY句は1つしか使用できません.最後のSELECT句の後に表示されなければなりません.つまり、結果セットの一部を1つの方法でソートし、別の方法でソートする場合はありません.そのため、複数のORDER BY句は使用できません.
構文
注:UNIONオペレータはデフォルトで異なる値を選択します.重複する値を許可する場合は、UNIOALLを使用します.
UNION ALL
ユニオンALLコマンドとユニオンコマンドはほぼ同等ですが、ユニオンALLコマンドにはすべての値がリストされます.
構文
注意:UNION結果セットのカラム名は、UNIONの最初のSELECT文のカラム名と常に等しい.
1、UNIONは2つ以上のSELECT文で構成しなければならない.文間はUNIONキーで区切られます.
2、UNIONの各クエリには、同じカラム、式、または集計関数が含まれている必要があります(ただし、各カラムは同じ順序でリストする必要はありません).
3、カラムデータ型は互換性があり、タイプが完全に同じである必要はありませんが、DBMSが暗黙的にタイプを変換できる必要があります.
4、UNIONはクエリ結果セットから重複行を自動的に除去する.
5.各条件の一致行が全て出現する必要がある場合(重複行を含む)、WHEREではなくユニオンALLを使用しなければならない.
6、UNIONのコンビネーションクエリを使用する場合、異なるテーブルを適用することができます.
7、UNIONコンビネーションクエリを使用する場合、ORDER BY句は1つしか使用できません.最後のSELECT句の後に表示されなければなりません.つまり、結果セットの一部を1つの方法でソートし、別の方法でソートする場合はありません.そのため、複数のORDER BY句は使用できません.
構文
SELECT FROM 1
UNION
SELECT FROM 2;
注:UNIONオペレータはデフォルトで異なる値を選択します.重複する値を許可する場合は、UNIOALLを使用します.
UNION ALL
ユニオンALLコマンドとユニオンコマンドはほぼ同等ですが、ユニオンALLコマンドにはすべての値がリストされます.
構文
SELECT FROM 1
UNION ALL
SELECT FROM 2;
注意:UNION結果セットのカラム名は、UNIONの最初のSELECT文のカラム名と常に等しい.