Większość osób posługujących się SQL’em wie do czego służy UNION, mało tego często zdarza się, że go używa.
Jednak jak pokazuje doświadczenie, nie każdy wie jaka różnica jest pomiędzy UNION, a UNION ALL. W rezultacie przy pisaniu zapytania stosuje UNION, chociażby z racji tego, iż jest krótsze
.
W skrócie UNION ALL łączy wszystkie rekordy z zapytań, natomiast UNION dokonuje filtracji i odrzuca duplikujące się rekordy (DISTINCT).
W przypadku zbioru danych, w którym nie występują duplikaty dane wynikowe będą takie same, jednak samo obciążenie wywołane zapytaniem jest inne, na niekorzyść UNION.
Co z tego wynika? Jeżeli jesteśmy pewni, że dane znajdujące się w łączonych przez nas zapytaniach nie posiadają duplikatów / bądź też nie przeszkadza nam obecność duplikatów zawsze stosujmy UNION ALL.
Jednak jak pokazuje doświadczenie, nie każdy wie jaka różnica jest pomiędzy UNION, a UNION ALL. W rezultacie przy pisaniu zapytania stosuje UNION, chociażby z racji tego, iż jest krótsze
W skrócie UNION ALL łączy wszystkie rekordy z zapytań, natomiast UNION dokonuje filtracji i odrzuca duplikujące się rekordy (DISTINCT).
W przypadku zbioru danych, w którym nie występują duplikaty dane wynikowe będą takie same, jednak samo obciążenie wywołane zapytaniem jest inne, na niekorzyść UNION.
Co z tego wynika? Jeżeli jesteśmy pewni, że dane znajdujące się w łączonych przez nas zapytaniach nie posiadają duplikatów / bądź też nie przeszkadza nam obecność duplikatów zawsze stosujmy UNION ALL.