Príkaz SQL INNER JOIN: príklady, syntax a funkcie

Rozvoj ľubovoľnej databázy zahŕňa nielen vytváranie a vyplňovanie tabuliek s rôznymi informáciami, ale aj ďalšiu prácu s údajmi. Štandardný formát výberu sa používa na správne vykonávanie rôznych úloh pri výbere údajov z tabuliek a generovaní prehľadov.

Vzorové dáta z tabuliek

Ak zoberiete do úvahy úlohu výberu údajov alebo zostavenia prehľadu, môžete určiť úroveň zložitosti operácie. Pri spravovaní serióznych (vo veľkom množstve informácií) databázach, ktoré sú vytvorené napríklad v internetových obchodoch alebo veľkých spoločnostiach, sa vzorka údajov nebude spravidla obmedzovať len na jednu tabuľku. Zvyčajne vzorky môžu pochádzať z pomerne veľkého množstva nielen súvisiacich tabuliek, ale aj vložených dopytov /dopytov, ktoré programátor sám, v závislosti od úlohy, ktorú mu kladie. Pre vzorku z jednej tabuľky môžete použiť najjednoduchší konštrukt:




Zvoľte * z osoby

, kde Osoba je názov tabuľky, z ktorej sa majú vzorky odobrať. Ak potrebujete vybrať dáta z viacerých tabuliek, môžete použiť jeden zo štandardných konštruktov na zlúčenie viacerých tabuliek.

Spôsoby pripojenia ďalších tabuliek

Pri zvažovaní použitia tohto typu štruktúr na počiatočnej úrovni je možné rozlíšiť nasledujúce mechanizmy na pripojenie požadovaného počtu vzorových tabuliek, a to:
  • Vnútorný spojovací operátor.
  • Levá spojit sa alebo je druhá cestazáznam, ľavý vonkajší spoj.
  • Krížové pripojenie.
  • Úplné pripojenie.
  • Použitie agregátorov tabuľkových agregátorov v praxi sa dá naučiť skúmaním používania príkazu SQL - Internal Join. Príkladom jeho použitia je nasledovné:




    Select * from Osoba vnútorné spojenie podoblasti na Su_Person = Pe_ID

    jazyk SQL a prevádzkovateľ Pripojiť vnútorné spojenie nemôžu byť použité iba na zlúčenie dvoch alebo viacerých tabuliek, ale aj pre pripojenie ďalších čiastkových otázok, čo značne uľahčuje prácu administrátorov a databázy typicky môže výrazne urýchliť realizáciu konkrétneho, komplexné štruktúrou pre požiadavky.

    Kombinovanie údajov v tabuľkách v poradí

    Ak vezmeme do úvahy veľký počet poddotazy pripojiť a zhromažďovať dáta v jednej tabuľke riadok po riadku, môžete použiť aj prevádzkovateľa v Únii a Únia všetko. Použitie týchto návrhov bude závisieť od úlohy stanovenej pre vývojára a výsledku, ktorý chce dosiahnuť v dôsledku toho.

    Opis Operátor vnútorné spojenie

    Vo väčšine prípadov kombinovať viac tabuliek v jazyku SQL, ktoré operátor používa vnútorné spojenie. Popis Inner Join v SQL je pomerne jednoduchý na pochopenie priemerného programátora, ktorý práve začína chápať databázy. Ak vezmeme do úvahy opis mechanizmu tejto konštrukcie, potom dostaneme takýto obraz. operátor logika všeobecne založená na možnosti vzorku prierezu a iba dáta, ktorá je v každom prichádzajúcom požiadavke na stole. Ak vezmeme do úvahy túto prácu, pokiaľ ide o grafickú interpretáciu, dostaneme štruktúru prevádzkovateľa SQL vnútorné spojenie, ktorého príkladom môže byťukazujú pomocou nasledujúcej schémy:
    Napríklad máme dve tabuľky, ktorých schéma je znázornená na obrázku. Majú zase odlišný počet záznamov. Každá z tabuliek má prepojené polia. Ak sa pokúsime vysvetliť prácu operátora na základe obrázka, vrátený výsledok bude vo forme množiny záznamov z dvoch tabuliek, kde čísla sú prepojené polia. Jednoducho povedané, dotaz vráti iba tie záznamy (z druhej tabuľky), ktorých údaje sú v tabuľke číslo jedna.

    Syntax vyhlásenia Inner Join

    Ako už bolo uvedené, vyhlásenie Inner Join, teda syntax, je veľmi jednoduché. Organizovať vzťahy medzi tabuľkami v rámci jednej vzorky je dosť pamätať a použiť nasledujúce základné schému orgánu, ktorý predpisuje jeden krok softvéru Microsoft SQL-kódu, a to:
  • vnútorné spojenie [Table Name] na [klyuchevoe poli z tabuľky, ku ktorej sa pripájame] = [Kľúčové pole je tabuľka, ktorá sa má pripojiť].
  • Pri komunikácii v tomto operátore sa používajú hlavné klávesy tabuliek. Typicky v skupine tabuliek, v ktorých sa ukladajú informácie o zamestnancoch, už opísaná osoba a subdivízia majú aspoň jeden podobný záznam. Takže zvážte príkaz SQL Inner Join, ktorého príklad bol uvedený skôr.

    Príklad a popis pripojenia k vzorke jednej tabuľky

    Máme tabuľku osôb, ktorá ukladá informácie o všetkých zamestnancoch, ktorí pracujú v spoločnosti. Bezprostredne si všimnite, že hlavným kľúčom tejto tabuľky je pole - Pe_ID. Bude to od neho a bude sa baliť. Druhá tabuľka rozdelenia budeuchovávať informácie o jednotkách, v ktorých zamestnanci pracujú. To je následne spojené s používaním poľa Su_Person s tabuľkou Osoby. Čo hovorí? Na tieto režimy založené Dá sa povedať, že divízia v tabuľke pre každý záznam v tabuľke "Zamestnanci" bude o oddelenie, v ktorom pracujú. Práve v tejto súvislosti funguje operátor Inner Join.
    Pre viac intuitívne používanie zvážiť operátor SQL vnútorné spojenie (príklady jej použitia pre jeden a dva stoly). Ak vezmeme do úvahy príklad jednej tabuľky, všetko je pomerne jednoduchý:

    Select * from Osoba vnútorné spojenie podoblasti na Su_Person = Pe_ID

    Príklad spojenie dvoch tabuliek a podzaprosa

    (40 )
    Operátor SQL vnútorné spojenie, príklady, ktoré na vzorke dát z niekoľkých tabuliek môže zabezpečiť vyššie uvedený spôsob je trochu komplikovanejšia princíp. Pre obe tabuľky budeme komplikovať úlohu. Napríklad máme odchýliť tabuľku, ktorá uchováva informácie o všetkých oddeleniach v každej z jednotiek. V tejto tabuľke je zaznamenaný počet delení a zamestnanec číslo a je potrebné doplniť názov vzorky dát jednotlivých oddelení. Pri pohľade do budúcnosti sa povedať, že tento problém vyriešiť, môžete použiť dve metódy. Prvým spôsobom je pripojenie tabuľky rozdelenia na vzorku. Usporiadať žiadosť v tomto prípade môže byť nasledovné:

    Zvoliť Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name od človeka vnútorné spojenie Pododdelenie na Su_Person = Pe_ID vnútorné spojenie Odchod na Su_Depart = Dep_ID a Pe_Depart = Dep_ID

    Druhou metódou riešenia úlohy je použitie poddotazu, do ktorého sa dáTabuľky oddelení budú vybrané nie všetky údaje, ale iba potrebné. Toto, na rozdiel od prvej metódy, zníži trvanie žiadosti.

    Zvoliť Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name od človeka vnútorné spojenie Pododdelenie na Su_Person = Pe_ID vnútorné spojenie (Vyberte Dep_ID, Dep_Name, Pe_Depart od Odchod) ako T na Su_Depart = Dep_ID a Pe_Depart = Dep_ID

    Je potrebné poznamenať, že tento návrh nemusí urýchliť dotazu. Niekedy tam sú časy, kedy máme prístup k ďalším ukážkové dáta do dočasnej tabuľky (v prípade, že suma je veľmi veľký), potom ho kombinovať s jadrovým vzorkou.

    Príklad vnútorné spojenie operátora ochutnať veľký počet tabuliek

    vytvárať zložité otázky zahŕňa použitie vzorových dát pre významný počet tabuliek a poddotazy prepojených. Tieto požiadavky môžu spĺňať syntax SQL Inner Join. Príklady prevádzkovateľa v tomto prípade môže byť komplikovaná nielen ukážky z mnohých miestach skladovania, ale tiež veľké množstvo vnorených poddotazy. Pre konkrétny príklad môže vziať vzorku dát zo systémových tabuliek (prevádzkovateľ vnútorné spojenie SQL). Príklad - 3 tabuľky, v tomto prípade budú mať pomerne zložitú štruktúru.
    V tomto prípade je pripojený (hlavná tabuľka) tri ďalšie podmienky niekoľko výber dát. Pri používaní vnútorné spojenie operátor by si mal uvedomiť, že čím zložitejšie dotaz, tým dlhšie bude realizovaný, takže by ste mali hľadať spôsoby, ako pracovať rýchlejšie a vyriešiť problém.

    Záver

    Na záver by chcel povedať jednu vec prácu s databázamidáta - to nie je najťažšia vec, ktorá je v programovaní, takže ak chcete úplne každý získať vedomosti o výstavbe databáz a neskôr po získaní skúseností s nimi pracovať na profesionálnej úrovni.

    Súvisiace publikácie