Shrnutí: v tomto tutoriálu, se dozvíte, jak používat MySQL UNION
operátor kombinovat dvě nebo více sad výsledků z více SELECT
prohlášení, do jediného sada výsledků.
MySQL Union operator
MySQL UNION
operátor umožňuje kombinovat dvě nebo více sad výsledků dotazů do jediné sady výsledků., Následující ilustruje syntaxi UNION
operátor:
kombinovat výsledek sada dvou nebo více dotazů pomocí UNION
operátora, to jsou základní pravidla, která musíte dodržovat:
- První, počet a příkazy sloupců, které se zobrazí v
SELECT
prohlášení musí být stejné. - za druhé, datové typy sloupců musí být stejné nebo kompatibilní.,
ve výchozím nastavení UNION
provozovatel odstraní duplicitní řádky, i pokud nezadáte DISTINCT
provozovatel výslovně.,
podívejme se na následující ukázkové tabulky: t1
t2
:
následující prohlášení kombinuje sady výsledků vrácených z t1
t2
stoly:
Code language: SQL (Structured Query Language) (sql)
konečný výsledek sada obsahuje různé hodnoty ze samostatné sady výsledků vrácených dotazů:
Code language: SQL (Structured Query Language) (sql)
Protože řádky s hodnotou 2 a 3 jsou duplikáty UNION
odstranil je a uchovávány pouze jedinečné hodnoty.,
následující Vennův diagram znázorňuje spojení dvou sad výsledků, které přicházejí z t1
t2
stoly:
Pokud použijete UNION ALL
výslovně, duplicitní řádky, pokud jsou k dispozici, zůstávají v důsledku toho. Protože UNION ALL
nemusí zpracovávat duplikáty, provádí se rychleji než UNION DISTINCT
.,
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Jak můžete vidět, duplikáty se zobrazí v kombinaci sada výsledků, protože UNION ALL
operace.
UNION vs. JOIN
a JOIN
kombinuje sady výsledků vodorovně, a UNION
připojuje sadu výsledků svisle.,ple databáze pro demonstraci:
Předpokládejme, že chcete kombinovat křestní jméno a příjmení zaměstnance a zákazníky do jediného sada výsledků, můžete použít UNION
operátor takto:
Code language: SQL (Structured Query Language) (sql)
Jak můžete vidět z výstupu, MySQL UNION
používá názvy sloupců, první SELECT
prohlášení pro záhlaví sloupce výstupu.,
Pokud chcete použít jiné záhlaví sloupců, je třeba použít sloupec aliasy výslovně v první SELECT
prohlášení, jak je znázorněno v následujícím příkladu:
Tento příklad používá záhlaví sloupce prvního dotazu pro výstup. Používá funkci CONCAT()
k zřetězení křestního jména, mezery a příjmení do celého jména.,
MySQL UNIE a OBJEDNÁVKY
Pokud chcete seřadit výsledek sada unie, můžete použít ORDER BY
klauzule v poslední SELECT
prohlášení, jak je znázorněno v následujícím příkladu:
Všimněte si, že pokud se vám místo ORDER BY
doložku v každé SELECT
prohlášení, že nebude mít vliv na pořadí řádků v konečném výsledku sada.,
rozlišovat mezi zaměstnanci a zákazníky, můžete přidat sloupec, jak je znázorněno v následující dotaz:
MySQL také poskytuje alternativní možnost třídit sadu výsledků na základě pozice sloupce pomocí ORDER BY
klauzule takto:
Nicméně, to není dobré praxe třídit výsledek nastavit sloupec pozice.
V tomto kurzu jste se naučili, jak používat MySQL UNION
příkaz sloučit data z několika dotazů do jediného výsledku.,
- byl tento tutoriál užitečný?
- YesNo