UNION は、二つのSQL文の結果を結合するのに使われるコマンド。そう言えば、 UNION は JOIN に多少類似するもの。この二つのコマンドとも、複数のテーブルからデータを読み込むことができるからです。しかし、 UNION が制限はされたことは、二つのSQL文からできたフィールドにおいて、同じデータの種類に使われること。また、UNION コマンドを使う場合、異なるデータ值しか出ません (SELECT DISTINCT に類似).
UNION のプログラミングは次のようになります。
[SQL 文 1]
UNION
[SQL 文 2]
では、次のような二つのテーブルがあるとします。
Store_Information テーブル
| store_name |
Sales |
Date |
| Los Angeles |
$1500 |
Jan-05-1999 |
| San Diego |
$250 |
Jan-07-1999 |
| Los Angeles |
$300 |
Jan-08-1999 |
| Boston |
$700 |
Jan-08-1999 |
Internet_Sales テーブル
| Date |
Sales |
| Jan-07-1999 |
$250 |
| Jan-10-1999 |
$535 |
| Jan-11-1999 |
$320 |
| Jan-12-1999 |
$750 |
そして、売上 (sales)の日をすべて調べます。そこで、次のSQL文が使えます。
SELECT Date FROM Store_Information
UNION
SELECT Date FROM Internet_Sales
の結果ができます。
| Date |
| Jan-05-1999 |
| Jan-07-1999 |
| Jan-08-1999 |
| Jan-10-1999 |
| Jan-11-1999 |
| Jan-12-1999 |
一つ注意すべきところは、どんなSQL文 (又は二つの句からできた場合)に "SELECT DISTINCT Date" を使った場合、全く同じ結果が出ます。