English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
UnionはMySQLの演算子の1つです。ORDER BYを使ってレコードをフィルタリングできます。複数のテーブルから順次行を選択するか、あるテーブルから行の集合を結果セットとして選択する場合は、UNIONを使用してください。
例を見てみましょう。
第1テーブルを作成します
mysql> create table UnionDemo1 -> ( -> id int -> ;
レコードを第1テーブルに挿入します。
mysql> insert into UnionDemo1 values(1),(4),(10); レコード: 3 重複: 0 警告: 0
すべてのレコードを表示。
mysql> select *from UnionDemo1;
以下はすべてのレコードを表示する出力。
+------+ | id +------+ | 1 | | 4 | | 10 | +------+ 3 セット内の行(0.00 sec)
第2テーブルを作成しましょう。
mysql> create table UnionDemo2 -> ( -> id int -> ;
レコードを第2テーブルに挿入します。
mysql> insert into UnionDemo2 values(2),(3),(5),(6),(7),(8),(9); レコード: 7 重複: 0 警告: 0
すべてのレコードを表示。
mysql> select *from UnionDemo2;
これは出力。
+------+ | id +------+ | 2 | | 3 | | 5 | | 6 | | 7 | | 8 | | 9 | +------+ 7 セット内の行(0.00 sec)
今度は UNION と Order by が一緒に使われるクエリを見てみましょう。
mysql> select id from UnionDemo1 -> union -> select id from UnionDemo2 -> order by id desc;
以下は出力。
+------+ | id +------+ | 10 | | 9 | | 8 | | 7 | | 6 | | 5 | | 4 | | 3 | | 2 | | 1 | +------+ 10 セット内の行(0.05 sec)