PostgreSQL の Union および Union All は、2 つ以上のテーブルから結合された (行バインドされた) 値を返します。Union は結合後に重複を削除します。Union All は重複を削除しません。
UNION と UNION ALL はどちらも 2 つの異なる SQL の結果を連結します。重複の処理方法が異なります。
PostgreSQL の Union:結果セットに対してDISTINCTを実行し、重複行を削除します。UNIONは連結し、重複行も削除します。

Union all in PostgreSQL: Union はすべての連結を行いますが、重複は削除しません。

例を挙げて説明しましょう。2つのテーブルを例に挙げましょう
表1:SummerFruits

表1:SummerFruits

PostgreSQL の Union:
SELECT * FROM SummerFruits
UNION
SELECT * FROM Fruits
Unionは連結し、重複も削除するので、結果のテーブルは次のようになります。
出力:

PostgreSQL での Union ALL:
SELECT * FROM SummerFruits
UNION ALL
SELECT * FROM Fruits
「Union All」は連結し、重複を削除しないので、結果のテーブルは次のようになります。
出力:
