SQL.8 同一構造のテーブルを結合するunion文

複数の同一デザインのテーブルをひとつのテーブルのように処理するユニオンクエリー文を説明します。 これは、システム構築するときの制約で1つのテーブルが理想のところを複数テーブルに分けて作成したテーブルを入力するときに便利です。

構文

個々のテーブルをアクセスするselect文をunionで結合します。

select文 UNION select文 UNION select文・・・

SQL例

SELECT NO,NAME,ADR FROM TBLA UNION SELECT NO,NAME,ADR FROM TBLB UNION SELECT NO,NAME,ADR FROM TBLC;

select文中にwhere文を記述することも可能です。 なおorder by文が必要な場合は、最後に記述されたselect文のみに記述すれば良い。

注意事項

個々のselect文の中のフィールドの選択は全てのselect文で同一に定義する必要があります。 また、ユニオンクエリーは更新不可能なクエリーになりますので更新先のテーブルを知りたい場合があります。

そこで、対象データがどのテーブルのものかを知るためにテーブル名のフィールドを追加します。

SELECT "TBLA" as [TblName],NO,NAME,ADR FROM TBLA UNION SELECT "TBLB" as [TblName],NO,NAME,ADR FROM TBLB UNION SELECT "TBLC" as [TblName],NO,NAME,ADR FROM TBLC;

というように記述すればテーブル名を知ることができる。

関連ページへのリンク

作成日:2007/12/04

| HOME | INDEX | | 次 |