SQL kurz

SQL HOME Úvod do SQL Syntaxe SQL SQL Select SQL Select Distinct SQL Kde SQL A nebo ne Pořadí SQL podle SQL Vložit do Hodnoty SQL Null Aktualizace SQL SQL Odstranit SQL Select Top SQL Min a Max Počet SQL, průměr, součet SQL Like Zástupné znaky SQL SQL In SQL mezi Aliasy SQL SQL se připojí SQL Vnitřní spojení SQL Levé připojení SQL Right Join Plné připojení k SQL SQL Self Join SQL Union SQL Group By SQL mít SQL existuje SQL Any, All SQL Select Into SQL Vložit do výběru Případ SQL Funkce SQL Null SQL uložené procedury Komentáře SQL Operátoři SQL

SQL databáze

SQL Vytvořit DB SQL Drop DB SQL Backup DB Vytvořit tabulku SQL SQL Drop Table SQL Alter Table Omezení SQL SQL Not Null Jedinečný SQL Primární klíč SQL cizí klíč SQL Kontrola SQL Výchozí SQL SQL index Automatické zvýšení SQL SQL data SQL pohledy SQL Injection SQL Hosting SQL datové typy

SQL reference

Klíčová slova SQL Funkce MySQL Funkce serveru SQL Funkce MS Access SQL Quick Ref

Příklady SQL

Příklady SQL SQL kvíz SQL cvičení SQL certifikát

Operátor SQL UNION


Operátor SQL UNION

Operátor UNIONse používá ke spojení výsledné sady dvou nebo více SELECT příkazů.

  • Každý SELECTpříkaz uvnitř UNIONmusí mít stejný počet sloupců
  • Sloupce musí mít také podobné datové typy
  • Sloupce v každém SELECTpříkazu musí být také ve stejném pořadí

Syntaxe UNION

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

UNION ALL Syntaxe

Operátor UNIONve výchozím nastavení vybírá pouze odlišné hodnoty. Chcete-li povolit duplicitní hodnoty, použijte UNION ALL:

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;

Poznámka: Názvy sloupců v sadě výsledků jsou obvykle stejné jako názvy sloupců v prvním SELECTpříkazu.


Demo databáze

V tomto tutoriálu použijeme známou ukázkovou databázi Northwind.

Níže je uveden výběr z tabulky „Zákazníci“:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

A výběr z tabulky "Dodavatelé":

SupplierID SupplierName ContactName Address City PostalCode Country
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. London EC1 4SD UK
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA
3 Grandma Kelly's Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA


Příklad SQL UNION

Následující příkaz SQL vrací města (pouze odlišné hodnoty) z tabulky "Zákazníci" i "Dodavatelé":

Příklad

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

Poznámka: Pokud mají někteří zákazníci nebo dodavatelé stejné město, bude každé město uvedeno pouze jednou, protože UNIONvybírá pouze odlišné hodnoty. Použijte UNION ALLtaké k výběru duplicitních hodnot!


SQL UNION ALL Příklad

Následující příkaz SQL vrací města (také duplicitní hodnoty) z tabulky "Zákazníci" i "Dodavatelé":

Příklad

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;

SQL UNION s WHERE

Následující příkaz SQL vrací německá města (pouze odlišné hodnoty) z tabulky "Zákazníci" i "Dodavatelé":

Příklad

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

SQL UNION VŠE s WHERE

Následující příkaz SQL vrací německá města (také duplicitní hodnoty) z tabulky "Zákazníci" i "Dodavatelé":

Příklad

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

Další příklad UNION

Následující příkaz SQL uvádí všechny zákazníky a dodavatele:

Příklad

SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;

Všimněte si výše uvedeného "AS Type" - je to alias. Aliasy SQL se používají k přidělení dočasného názvu tabulce nebo sloupci. Alias ​​existuje pouze po dobu trvání dotazu. Zde jsme tedy vytvořili dočasný sloupec s názvem "Typ", který uvádí, zda je kontaktní osoba "Zákazník" nebo "Dodavatel".