SQL文:ユニオンクエリー
ユニオンクエリー
SQL文:ユニオンクエリーの基本形
ユニオンクエリーは、複数テーブル(表)のフィールドを1つのレコードセットに結合し、新たなテーブルとして表示するクエリーです。
追加クエリーと異なり、元のテーブルデータは変更しません。
SELECT [Field1],[Field2],… FROM [Table1] UNION SELECT [Field2],[Field2],… FROM [Table2] ;※Table1とTable2のフィールドデータを結合したレコードを表示します。もとのテーブルデータは変更しません。
▲上へ
条件を指定した抽出結果を結合する
SELECT [Field1],[Field2],… FROM [Table1] WHERE [Field = 抽出条件] UNION SELECT [Field2],[Field2],… FROM [Table2] WHERE [Field = 抽出条件] ;
結合したデータを並べ替える
SELECT [Field1],[Field2],… FROM [Table1] UNION SELECT [Field2],[Field2],… FROM [Table2] ORDER BY [Field ASC/DESC] ;
フィールド名を変更して表示する
SELECT [Field1] AS 変更名称1,[Field2] AS 変更名称2,… FROM [Table1] UNION SELECT [Field2],[Field2],… FROM [Table2] ;
フィールドを追加して結合する
SELECT [Field1],[Field2],"追加データ1(固定)" AS 追加フィールド名 FROM [Table1] UNION SELECT [Field2],[Field2],"追加データ2(固定)" FROM [Table2] ;
フィールド数の異なるテーブルを結合する
SELECT [Field1],[Field2],[Field3] FROM [Table1] UNION SELECT [Field2],[Field2],"追加データ(固定)" FROM [Table2] ;
▲上へ
SQL文:UNION / UNION ALL の違いについて
ユニオン(UNION)では、複数テーブル中で選択したフィールド値が同じレコード(重複レコード)があると、抽出結果が重複しないよう調整されます。
ユニオンクオール(UNION ALL)では、レコードが重複しても、重複したまま抽出結果を返します。
SELECT [Field1],[Field2] FROM [Table1] UNION ALL SELECT [Field2],[Field2] FROM [Table2] ;※Table1とTable2のフィールドデータに重複があっても、重複したままで抽出、結合結果を返します。
▲上へ
データベース・SQL文・SQLクエリー(query)関連リンク
wiki内関連ページ
- SQL文:SQLステートメント
- SQLステートメント
- SQLクエリー
- SQL文:ユニオンクエリー
- SQL文:パススルークエリー?
- SQL文:データ定義クエリー
- SQL文:サブクエリー?
- VB2005リファレンス(覚え書き)
外部リンク
現在なし
▲上へ
2007年09月16日(日) 22:16:06 Modified by cafeboy1