Jaka jest różnica pomiędzy UNION a UNION ALL w SQL?

Jaka jest różnica pomiędzy UNION a UNION ALL w SQL?

1 odpowiedź

UNION usuwa zduplikowane rekordy (gdzie wszystkie kolumny w wynikach są takie same), UNION ALL nie :

Jak użyjesz UNION zamiast UNION ALL spowodujesz obniżenie wydajności, bo serwer bazy danych będzie musiał wykonać dodatkową pracę, żeby usunąć zduplikowane wiersze, no a jak wiadomo, nikt nie chce się duplikatów (szczególnie podczas opracowywania raportów).

Przykłady:

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

wynik:

+-----+
| bar |
+-----+
| foo |
+-----+
1 row in set (0.00 sec)
SELECT 'foo' AS bar UNION ALL SELECT 'foo' AS bar

wynik:

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

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.