SQL příkaz INNER JOIN: příklady, syntaxe a funkce

Vývoj jakékoli databáze zahrnuje nejen tvorbu a vyplňování tabulek s různými informacemi, ale také další práce s daty. Standardní volba Design slouží k správnému provádění různých úloh pro výběr dat z tabulek a generování sestav.

Ukázkové údaje z tabulek

Pokud zvážíte úlohu výběru dat nebo sestavení sestavy, můžete zjistit úroveň složitosti operace. Obecně platí, že pokud se jedná o vážné (v objemu informací) databázích, které jsou vytvořeny například v internetových obchodech nebo ve velkých společnostech, vzorek dat se nebude omezovat pouze na jednu tabulku. Typicky mohou být vzorky z poměrně velkého počtu nejen souvisejících tabulek, ale také z integrovaných dotazů /podstránek, které programátor sám, v závislosti na úloze, kterou kladou. Pro vzorek z jedné tabulky můžete použít nejjednodušší konstrukci:




Zvolte * z Osoby

, kde Osoba je název tabulky, ze které chcete vzorek odebrat. Pokud potřebujete vybrat data z více tabulek, můžete použít jednu ze standardních konstrukcí pro sloučení více tabulek.

Způsoby připojení dalších tabulek

Pokud se uvažuje o použití tohoto typu konstrukcí na počáteční úrovni, lze rozlišit následující mechanismy pro připojení požadovaného počtu vzorových tabulek, a to:
  • operátor Inner Join.
  • Levá spojení nebo je druhá cestazáznam, Vlevo vnější spojení.
  • Křížové spojení.
  • Full Join.
  • Použití operátorů agregátorů tabulek v praxi lze zjistit zkoumáním použití příkazu SQL - Internal Join. Příkladem jeho použití je následující:




    Select * from Osoba vnitřní spojení subdivize na Su_Person = Pe_ID

    jazyk SQL a provozovatel Připojit vnitřní spojení nemohou být použity pouze na sloučení dvou nebo více tabulek, ale i pro připojení dalších dílčích dotazů, což značně usnadňuje práci administrátorů a databáze typicky může výrazně urychlit realizaci konkrétního, komplexní strukturou pro požadavky.

    Kombinace údajů v tabulkách v pořadí

    Pokud vezmeme v úvahu velký počet poddotazy připojit a shromažďovat data v jedné tabulce řádek po řádku, můžete použít i provozovatele v Unii a Unie vše. Použití těchto návrhů bude záviset na úkolu stanoveném před vývojářem a výsledku, který chce dosáhnout.

    Popis Operátor vnitřní spojení

    Ve většině případů kombinovat více tabulek v jazyce SQL, které operátor používá vnitřní spojení. Popis Vnitřního připojení v SQL je poměrně jednoduchý k pochopení průměrného programátora, který právě začíná chápat databáze. Pokud uvažujeme o popisu mechanismu této konstrukce, získáme takový obrázek. operátor logika obecně založena na možnosti vzorek průřezu a pouze data, která je v každém příchozím požadavku na stole. Pokud takovou práci považujeme za grafickou interpretaci, získáme strukturu operátoru SQL Inner Join, jehož příkladem jeukázat pomocí následujícího schématu:
    Například máme dvě tabulky, jejichž schéma je znázorněno na obrázku. Ty zase mají jiný počet záznamů. Každá z tabulek obsahuje propojená pole. Pokud se pokusíme vysvětlit práci operátora na základě obrázku, pak vrácený výsledek bude ve formě souboru záznamů ze dvou tabulek, kde jsou čísla vzájemně propojená pole. Jednoduše řečeno, dotaz vrátí pouze ty záznamy (z tabulky číslo dvě), jejichž údaje jsou v tabulce číslo jedna.

    Syntaxe příkazu Inner Join

    Jak již bylo uvedeno, výraz Inner Join, jmenovitě syntaxe, je velmi jednoduchý. Organizovat vztahy mezi tabulkami v rámci jednoho vzorku je dost pamatovat a použít následující základní schéma subjektu, který předepisuje jeden krok softwaru Microsoft SQL-kódu, a to:
  • vnitřní spojení [Table Name] na [klyuchevoe poli ze stolu, ke kterému se připojujeme] = [Klíčové pole je tabulka, která se má připojit].
  • Pro komunikaci v tomto operátorovi se používají hlavní klávesy tabulek. Typicky ve skupině tabulek, které ukládají informace o zaměstnancích, již dříve popsaná osoba a subdivize mají alespoň jeden podobný záznam. Takže zvážit příkaz SQL Inner Join, jehož příklad byl uveden dříve.

    Příklad a popis připojení k vzorku jedné tabulky

    Máme tabulku osob, která uchovává informace o všech zaměstnancích pracujících ve firmě. Bezprostředně si uvědomte, že hlavním klíčem této tabulky je pole - Pe_ID. Bude od něj a půjde svázaný. Druhá tabulka rozdělení budeuchovávat informace o jednotkách, v nichž zaměstnanci pracují. Ona je zase spojen přes pole do tabulky Su_Person Person. Co říkáte? Na tyto režimy založené Dá se říci, že divize v tabulce pro každý záznam v tabulce „Zaměstnanci“ bude o oddělení, ve kterém pracují. Právě v této souvislosti bude fungovat operátor Inner Join.
    Pro více intuitivní používání zvážit operátor SQL vnitřní spojení (příklady jejího použití pro jeden a dva stoly). Pokud vezmeme v úvahu příklad jedné tabulky, vše je poměrně jednoduchý:

    Select * from Osoba vnitřní spojení subdivize na Su_Person = Pe_ID

    Příklad spojení dvou tabulek a podzaprosa

    (40 ).
    Operátor SQL vnitřní spojení, příklady, které na vzorku dat z několika tabulek může zajistit výše uvedený způsob je poněkud komplikovanější princip. U obou tabulek to komplikujeme. Například máme odchýlit tabulku, která uchovává informace o všech odděleních v každé z jednotek. V této tabulce je zaznamenaný počet dělení a zaměstnanec číslo a je třeba doplnit název vzorku dat jednotlivých oddělení. Při pohledu do budoucna stojí za to říci, že k řešení tohoto problému lze použít dvě metody. Prvním způsobem je propojit tabulky dělení se vzorkem. Uspořádat žádost v tomto případě může být následující:

    Zvolit Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name od člověka vnitřní spojení Pododdělení na Su_Person = Pe_ID vnitřní spojení Odjezd na Su_Depart = Dep_ID a Pe_Depart = Dep_ID

    druhý způsob řešení problému - použití podzaprosa které zTabulky oddělení budou vybrány ne všechny údaje, ale pouze nezbytné. To, na rozdíl od první metody, zkracuje dobu trvání požadavku.

    Zvolit Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name od člověka vnitřní spojení Pododdělení na Su_Person = Pe_ID vnitřní spojení (Vyberte Dep_ID, Dep_Name, Pe_Depart od Odjezd) jako T na Su_Depart = Dep_ID a Pe_Depart = Dep_ID

    Je třeba poznamenat, že takový návrh nemusí vždy urychlit provoz žádosti. Někdy tam jsou časy, kdy máme přístup k dalším ukázková data do dočasné tabulky (v případě, že částka je velmi velký), pak jej kombinovat s jádrovým vzorkem.

    Příklad vnitřní spojení operátora ochutnat velký počet tabulek

    vytvářet složité dotazy zahrnuje použití vzorových dat pro významný počet tabulek a poddotazech propojených. Tyto požadavky mohou splňovat syntaxi SQL Inner Join. Příklady provozovatele v tomto případě může být komplikována nejen ukázky z mnoha místech skladování, ale také velké množství vnořených poddotazy. Pro konkrétní příklad můžete vzít vzorek dat z systémových tabulek (operátor Inner Join SQL). Příklad - 3 tabulky, v tomto případě budou mít poměrně složitou strukturu.
    V tomto případě je připojen (hlavní tabulka) tři další podmínky několik výběr dat. Při používání vnitřní spojení operátor by si měl uvědomit, že čím složitější dotaz, tím déle bude realizován, takže byste měli hledat způsoby, jak pracovat rychleji a vyřešit problém.

    Závěr

    Na závěr by chtěl říci jednu věc práci s databázemidata - to není nejtěžší věc, která je v programování, takže pokud chcete absolutně každý získat znalosti o konstrukci databází a později po získání zkušeností s nimi pracovat na profesionální úrovni.

    Související publikace