問題

UNIONUNION ALLの違いは何ですか?

  ベストアンサー

UNIONは重複レコード(結果のすべての列が同じ)を削除し、UNION ALLは削除しません。

データベースサーバーは重複した行を削除するために追加の作業を行う必要があるため、UNION ALLの代わりにUNIONを使用するとパフォーマンスが低下しますが、通常は重複は必要ありません(特にレポートを開発するとき)。

ユニオンの例:

 SELECT 'foo' AS bar UNION SELECT 'foo' AS bar
 

結果:

 +-----+
| bar |
+-----+
| foo |
+-----+
1 row in set (0.00 sec)
 

ユニオンすべての例:

 SELECT 'foo' AS bar UNION ALL SELECT 'foo' AS bar
 

結果:

 +-----+
| bar |
+-----+
| foo |
| foo |
+-----+
2 rows in set (0.00 sec)
 

  同じタグがついた質問を見る

sqlunionunion-all