Poslední úpravy - Vyhledat:

SQL

O modelování

Power Designer

Oracle Data Modeler

Zdroje...

edit SideBar

SQL /

UNION dotazy

< Dotazy na to co není | SQL postupně | Manipulační příkazy >

Když chceme dostat do výsledku řádky, z nichž každý pochází z některé z více tabulek, poslouží nám UNION dotaz. Jedná se vlastně o sjednocení množin řádků, jež jsou výsledky několika dotazů. Řádky výsledné tabulky můžeme navíc nějak seřadit.

Příklad: Vypište seznam kategorií, v nichž máme nějaké zboží, s jejich názvy a popisy, spolu se seznamem zboží, také s názvy a popisy. Seřaďte podle kategorií, kategorii jako první.

        select KAT,NAZK as NAZEV, TO_CHAR(POPK) as POPIS
        from KAT
        where KAT in (select KAT from ZBOZ)
        union
        select KAT||TO_CHAR(KOD), NAZ, TO_CHAR(POP)
        from ZBOZ
        order by 1;
(Operátor || je operátor zřetězení v Oracle. Funkce TO_CHAR() je funkcí Oracle pro konverzi do datového typu CHAR.)

Pojmenování sloupců děláme v prvním SELECTu, další SELECTy tyto názvy přebírají. Klauzule ORDER BY je jako poslední a týká se celého výsledku. UNION dotaz eliminuje případné duplicitní řádky:

Příklad: Vypište všechny adresy, jak z tabulky zákazníků, tak z tabulky objednávek.

        select JMEN, PRIJM, ULIC, MEST
        from ZAK
        union
        select JMEN, PRIJM, ULIC, MEST
        from OBJ
        order by 4,3;

< Dotazy na to co není | SQL postupně | Manipulační příkazy >

Upravit - Historie - Tisk - Poslední úpravy - Vyhledat
Poslední úprava stránky: 20.10.2009, 19:42