UNION

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

UNION je syntaktická konstrukce jazyka SQL. Slouží ke sjednocení výsledku dotazu ze dvou nebo více vstupních množin dotazu SELECT.

Aby bylo možné množiny sjednotit, je nutné ve všech sjednocovaných množinách dodržet stejný počet sloupců a jejich datových typů.

Příklad

SELECT col1, col2, col3, col4 FROM tab1
UNION
SELECT col1, col2, col3, col4 FROM tab2

Při sjednocení množin se shodné záznamy neopakují. Pro zobrazení všech záznamů odpovídajících podmínce slouží konstrukce UNION ALL.

Použití[editovat | editovat zdroj]

UNION lze použít u databází, které nejsou dokonale normalizované. Pokud databáze obsahuje tržby rozdělené do jednotlivých tabulek dle let pak rozdíl v UNION a UNION ALL pro vstupní množiny

trzby_2005
pobocka trzby
pb01 20000
pb02 30000
trzby_2006
pobocka trzby
pb01 25000
pb02 30000

vrátí

pro
UNION
pobocka trzby
pb01 20000
pb02 30000
pb01 25000
pro
UNION ALL
pobocka trzby
pb01 20000
pb02 30000
pb01 25000
pb02 30000

Další vlastnosti[editovat | editovat zdroj]

  • Pokud chceme výstup dotazu seřadit např. podle druhého výsledného sloupce, dovolují některé databázové systémy použít za klíčovým slovem ORDER BY číselnou hodnotu – v tomto případě by příkaz končil ORDER BY 2;.

Související články[editovat | editovat zdroj]