..


Sponzorované odkazy

Použití unii umožnit kombinovat výsledky ze dvou tabulek

Článek napsal Max Bossi

Jazyk SQL nám nabízí poměrně jednoduchý způsob, jak spojit ve stejné SELECT, výsledky dvou různých tabulek.

K dosažení tohoto cíle, je na čase použít UNIE all'opertore, která bude ve skutečnosti, že Unie výsledků získaných pomocí dotazu na dvě tabulky.

Všimněte si, že aby mohly být správně používány, je na čase, že provozovatel UNIE:

  • , že tabulky jsou dotazovány na stejný počet sloupců;
  • požaduje, aby sloupce se stejným názvem;
  • že požadované sloupce v obou tabulkách jsou konzistentní datové typy;
Zde je příklad: řekněme, že bude muset fungovat na databázi hypotetické cestovních kanceláří a předpokládat, že naše databáze obsahuje pouze dvě tabulky:
  • hotel_italia
    • jméno
    • hvězdy
    • město
    • země
  • hotel_europa
    • jméno
    • hvězdy
    • město
    • země
Nyní předpokládejme, že zákazník chce, abychom věděli, jak nabídky hotelů v Itálii a v Evropě:





 SELECT jméno, hvězdy, město, země







 Z hotel_italia







 UNIE







 SELECT jméno, hvězdy, město, země







 Z hotel_europa



S tímto dotazem se dostaneme úplný seznam všech hotelů ve dvou tabulkách:

jméno hvězdy město země
Hotel Cavour 4 V Římě EN
Hotel Miramare 2 Katolický EN
Hotel Manzoni 2 Milán EN
Hotel Espana 3 Madrid ES
Hilton 5 Londýn Spojené království
Hotel am Schlossgarten 4 Stuttgart DE

Poznámka: Upozorňujeme, že Evropská unie nevykazuje žádné duplicitní záznamy (ve výchozím nastavení tak, jako by to bylo SELECT DISTINCT ), a chcete-li duplicitní záznamy také ukazují (Vzpomeňte si na náš příklad, v hotelu v tomto jak v tabulce, které hotel_italia hotel_europa), budete muset použít UNION ALL.

Třídit a omezit výsledky z UNIE

Předpokládejme, že výsledky pomocí UNION a mnoho z nich si je omezena na určitý počet. Jak? Tady je řešení:

 



 SELECT * FROM







 (SELECT jméno, hvězdy, město, stát Z hotel_italia







 UNIE







 SELECT jméno, hvězdy, město, stát Z hotel_europa)







 AS Hotel







 ORDER BY DESC LIMIT 10 hvězd

 
V podstatě jsme se zacházet s výsledky vyplývající ze spojení dvou nebo více tabulek, jako kdyby byl výsledek jednoho stolu, tím můžeme použít standardní třídění a limit.

Ve stejné kategorii ...
E-Learning
MS Access (Advanced) MS Access (Advanced)
Naučte se vytvářet a spravovat databáze snadno a rychle. Od 29 €.
MySQL (kurz) MySQL (kurz)
Správa open-source databáze. Od 39 €.
SQL a databází (kurz) SQL a databází (kurz)
Vytváření a správa relační databáze. Od 39 €.
Sponzorované odkazy