http://stackoverflow.com/questions/49925/what-is-the-difference-between-union-and-union-all

UNION removes duplicate records (where all columns in the results are the same), UNION ALL does not.

There is a performance hit when using UNION vs UNION ALL, since the database server must do additional work to remove the duplicate rows, but usually you do not want the duplicates (especially when developing reports).

UNION Example:</h1>

SELECT</span> 'foo'</span> AS</span> bar </span>UNION</span> SELECT</span> 'foo'</span> AS</span> bar</span></code></pre>
Result:</strong>

+</span>-----+</span>
|</span> bar </span>|</span>
+</span>-----+</span>
|</span> foo </span>|</span>
+</span>-----+</span>
1</span> row</span> in</span> set</span> (</span>0.00</span> sec</span>)</span></code></pre>

UNION ALL example:</h1>

SELECT</span> 'foo'</span> AS</span> bar </span>UNION</span> ALL</span> SELECT</span> 'foo'</span> AS</span> bar</span></code></pre>
Result:</strong>

+</span>-----+</span>
|</span> bar </span>|</span>
+</span>-----+</span>
|</span> foo </span>|</span>
|</span> foo </span>|</span>
+</span>-----+</span>
2</span> rows</span> in</span> set</span> (</span>0.00</span> sec</span>)</span></code></pre>
</div>