UNION は一意の行のみを返しますが、UNION ALL には重複行が含まれます。UNION はマージ前に行の重複を排除しますが、UNION ALL は行の重複を排除しません。
#SQL における UNION と UNION ALL の違い
UNION と UNION ALL はどちらも、2 つまたは複数のテーブルの行に対する SQL 演算子。ただし、重複行の処理方法には根本的な違いがあります。UNION
UNION ALL
例
以下に示すように、2 つのテーブル T1 と T2 があるとします。<code>T1: +----+----+ | ID | Name | +----+----+ | 1 | John | | 2 | Susan | | 3 | Mary | +----+----+ T2: +----+----+ | ID | Name | +----+----+ | 2 | Susan | | 4 | Bob | +----+----+</code>
<code>SELECT * FROM T1 UNION SELECT * FROM T2;</code>
<code>+----+----+ | ID | Name | +----+----+ | 1 | John | | 2 | Susan | | 3 | Mary | | 4 | Bob | +----+----+</code>
<code>SELECT * FROM T1 UNION ALL SELECT * FROM T2;</code>
<code>+----+----+ | ID | Name | +----+----+ | 1 | John | | 2 | Susan | | 2 | Susan | | 3 | Mary | | 4 | Bob | +----+----+</code>
以上がSQLのunionとunion allの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。