Sdílet prostřednictvím


Spojení tabulek

Při kombinování dat z více tabulek, musíte rozhodnout, jaké tabulky použít.Existují problematikou souvisí některá fakta:

  • Diakritické znaménko tři nebo více tabulek, kombinuje operace každé spojení dvou tabulek.   Můžete však použít více operací spojení v jednom dotazu shrnout data z libovolného počtu tabulek.Výsledek každé operace JOIN je účinně tabulky, můžete tento výsledek jako operand v další operaci spojení.Například chcete-li vytvořit sadu výsledků, v níž každý řádek obsahuje název knihy, autora a procento licenčních poplatků této knize Autor obdrží, musíte sloučit data ze tří tabulek: Autoři, názvy a AutorKnihy.Výsledný příkaz SQL může vypadat například takto:

    SELECT 
        title, 
        au_fname, 
        au_lname, 
        royaltyper
    FROM 
        authors 
            INNER JOIN 
            titleauthor 
            ON authors.au_id 
            =  titleauthor.au_id
       INNER JOIN
       titles 
             ON titleauthor.title_id 
             =  titles.title_id
    
  • Použití tabulky pouze ke spojení jiných tabulky lze zahrnout do spojení i v případě, že chcete zahrnout všechny sloupce tabulky v sadě výsledků.Například pokud chcete vytvořit sadu výsledků v níž každý řádek popisuje dvojici název úložiště, kam ukládat, prodává tento titul, zahrnete sloupce ze dvou tabulek: hlav a ukládá.Ale musíte použít třetí tabulky Prodejní určit jednotlivé knihy prodávají obchody.Výsledný příkaz SQL může vypadat například takto:

    SELECT title, stor_name 
    FROM titles 
             INNER JOIN 
             sales 
             ON titles.title_id = sales.title_id 
                 INNER JOIN 
                 stores 
                 ON 
                 sales.stor_id = stores.stor_id
    

    Všimněte si, že tabulka prodeje nepřispívá žádné sloupce do sady výsledků.

  • Použití tabulky v jednom dotazu dvakrát lze použít stejné tabulky dvou (nebo více) časy v jediném dotazu.Další informace naleznete v tématu tabulky dvakrát v jednom dotazu pomocí.

  • Něco jiného, namísto tabulek pomocí namísto tabulky, můžete použít dotaz, zobrazení nebo uživatelem definované funkce, která vrací tabulku.Další informace naleznete v tématu Jak: vytvoření dotazů pomocí něco kromě tabulky.

Další informace o přidání tabulky do dotazu, viz Jak: přidání tabulek a dotazů.

Viz také

Referenční dokumentace

Vlastnosti spojení

Další zdroje

Dotazování pomocí spojení

Navrhování dotazů a zobrazení