..


Sponzorované odkazy

Použite únii umožniť kombinovať výsledky dvoch tabuliek

Článok napísal Max Bossi

Jazyka SQL nám poskytuje pomerne jednoduchý spôsob, ako spojiť v rovnakej SELECT, výsledky dvoch rôznych tabuliek.

Na dosiahnutie tohto cieľa, je na čase použiť ÚNIE all'opertore, ktorá bude v skutočnosti, že Únia výsledky dotazom na dva stoly.

Všimnite si, že aby mohli byť používané správne, je na čase, že prevádzkovateľ ÚNIE:

  • , Že tabuľky sú dopytované na rovnaký počet stĺpcov;
  • požaduje, aby stĺpce s rovnakým názvom;
  • že požadované stĺpce v oboch tabuľkách sú konzistentné dátové typy;
Zoberme si príklad: povedzme, že bude musieť pracovať na databáze hypotetických cestovnej kancelárie a predpokladáme, že naša databáza obsahuje len dve tabuľky:
  • hotel_italia
    • meno
    • hviezdy
    • mesto
    • krajiny
  • hotel_europa
    • meno
    • hviezdy
    • mesto
    • krajiny
Teraz predpokladajme, že zákazník chce, aby sme vedeli, ako ponuky hotelov v Taliansku a v Európe:





 SELECT názov, hviezdy, mesto, krajina







 Z hotel_italia







 ÚNIE







 SELECT názov, hviezdy, mesto, krajina







 Z hotel_europa



S týmto dotazom sa dostaneme úplný zoznam všetkých hotelov v dvoch tabuľkách:

meno hviezdy mesto krajiny
Hotel Cavour 4 V Ríme EN
Hotel Miramare 2 Katolícky EN
Hotel Manzoni 2 Miláno EN
Hotel Espana 3 Madrid ES
Hilton 5 Londýn Spojené kráľovstvo
Hotel am Schlossgarten 4 Stuttgart DE

Poznámka: Upozorňujeme, že operátor ÚNIE nevykazuje žiadne duplicitné záznamy (v predvolenom nastavení tak, ako by to bolo SELECT DISTINCT ), a ak chcete duplicitné záznamy tiež ukazujú (Spomeňte si na náš príklad, v hoteli v tomto ako v tabuľke, ktoré hotel_italia hotel_europa), budete musieť použiť UNION ALL.

Triediť a obmedziť výsledky z ÚNIE

Predpokladajme, že výsledky z použitia únie a rady chcú, aby boli obmedzené na určitý počet. Ako to? Tu je riešenie:

 



 SELECT * FROM







 (SELECT meno, hviezdy, mesto, štát Z hotel_italia







 ÚNIE







 SELECT názov, hviezdy, mesto, štát Z hotel_europa)







 AS Hotel







 ORDER BY DESC LIMIT 10 hviezd

 
V podstate sme sa zaobchádzať s výsledkami vyplývajúce zo spojenia dvoch alebo viacerých tabuliek, ako keby bol výsledok jedného stola, pritom môžeme použiť triedenie a normálny limit.

V rovnakej kategórii ...
E-Learning
MS Access (kurz) MS Access (kurz)
Naučte sa vytvárať a spravovať databázy jednoducho a rýchlo. Od 29 €.
MySQL (kurz) MySQL (kurz)
Správa open-source databázu. Od 39 €.
SQL a databázy (kurz) SQL a databázy (kurz)
Vytváranie a správa relačnej databázy. Od 39 €.
Sponzorované odkazy