PočítačeProgramovanie

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

Vývoj ľubovoľnej databázy znamená nielen vytvorenie a vyplnenie tabuliek s rôznymi informáciami, ale aj ďalšia práca s údajmi. Pre správne vykonanie rôznych úloh pri výbere údajov z tabuliek a generovaní prehľadov sa používa štandardná konštrukcia Select.

Načítanie údajov z tabuliek

Ak zoberiete do úvahy úlohu výberu údajov alebo zostavovania konkrétnej správy, môžete určiť úroveň zložitosti tejto operácie. Spravidla pri práci so serióznymi (na množstve informácií) databáz, ktoré sú vytvorené napríklad v internetových obchodoch alebo veľkých spoločnostiach, odber vzoriek údajov nebude obmedzený iba na jednu tabuľku. Zvyčajne môžu byť vzorky z pomerne veľkého počtu nielen prepojených tabuliek, ale aj vnorených dopytov / poddotazov, ktoré programátor sám robí, v závislosti od priradenej úlohy. Pre odber vzoriek z jednej tabuľky môžete použiť najjednoduchší dizajn:

Zvoľte * z osoby

Kde je osoba názov tabuľky, z ktorej chcete vybrať dáta.

Ak je potrebné vybrať dáta z viacerých tabuliek, môžete použiť jeden zo štandardných návrhov na kombináciu viacerých tabuliek.

Spôsoby pripojenia ďalších tabuliek

Ak vezmeme do úvahy použitie takýchto štruktúr na počiatočnej úrovni, môžeme rozlíšiť nasledujúce mechanizmy na pripojenie potrebného počtu tabuliek pre vzorku, a to:

  1. Operátor Vnútorný spoj.
  2. Left Join alebo, je to druhý spôsob nahrávania, Left Out External Join.
  3. Krížové pripojenie.
  4. Úplné pripojenie.

Použitie tabuliek spojených operátorov v praxi sa dá naučiť zvážením používania operátora SQL - Internal Join. Príklad jeho použitia bude vyzerať takto:

Zvoľte * z osoby

Vnútorná spojenie Subdivision na Su_Person = Pe_ID

Jazyk SQL a operátor Join Inner Join môžu byť použité nielen na pripojenie dvoch alebo viacerých tabuliek, ale aj na pripojenie iných poddotáz, čo značne uľahčuje prácu administrátorov databázy a spravidla môže výrazne urýchliť vykonanie určitých štruktúrovaných dopytov.

Kombinácia údajov v tabuľkách riadok po riadku

Ak zvážime pripojenie veľkého počtu poddotazov a zostavenie údajov do jedného riadku tabuľky po riadku, môžete použiť aj operátorov Únie a únie všetkých.

Aplikácia týchto konštrukcií bude závisieť od úlohy stanovenej pre vývojára a výsledku, ktorý chce nakoniec dosiahnuť.

Popis operátora Vnútorný spoj

Vo väčšine prípadov používate operátor Inner Join na pripojenie viacerých tabuliek do SQL. Opis Vnútorného pripojenia v SQL je pomerne jednoduchý pre priemerného programátora, ktorý chápe, čo práve začína chápať databázy. Ak zoberieme do úvahy popis mechanizmu fungovania tejto konštrukcie, získame nasledujúci obrázok. Logika operátora ako celku je založená na možnosti pretínať a odoberať iba tie dáta, ktoré existujú v každej z tabuliek, ktoré sú zahrnuté do dopytu.

Ak vezmeme do úvahy túto prácu z pohľadu grafickej interpretácie, získame štruktúru SQL Inner Join, ktorej príklad môžeme preukázať pomocou nasledujúcej schémy:

Napríklad máme dve tabuľky, ktorých diagram je znázornený na obrázku. Na druhej strane majú iný počet záznamov. V každom z tabuliek sú polia, ktoré sú prepojené. Ak sa pokúsite vysvetliť prevádzku operátora na základe čísla, vrátený výsledok bude vo forme súboru záznamov z dvoch tabuliek, kde sa zhodujú počet príbuzných polí. Jednoducho povedané, dotaz vráti iba tie záznamy (z tabuľky číslo 2), ktorých údaje sú v tabuľke číslo jedna.

Syntax operátora Internal Join

Ako už bolo uvedené, operátor Inner Join, a to jeho syntax, je veľmi jednoduchý. Ak chcete zorganizovať prepojenia medzi tabuľkami v rámci jedinej vzorky, stačí, ak si zapamätáte a použijete nasledujúcu hlavnú schému pre zostavenie operátora, ktorá je napísaná v jednom riadku programu SQL-code:

  • Vnútorné pripojenie [názov tabuľky] na [kľúčové pole z tabuľky, ku ktorej sa pripájame] = [Kľúčové pole pripojenej tabuľky].

Pre komunikáciu v tomto operátorovi sa používajú hlavné klávesy tabuliek. Zvyčajne v skupine tabuliek, ktoré uchovávajú informácie o zamestnancoch, predtým opísaná osoba a subdivízia majú aspoň jeden podobný záznam. Pozrime sa teda bližšie na vyhlásenie SQL Inner Join, ktorého príklad sa ukázal o niečo skôr.

Príklad a popis pripojenia k výberu jednej tabuľky

Máme osobnú tabuľku, ktorá ukladá informácie o všetkých zamestnancoch, ktorí pracujú v spoločnosti. Stačí si uvedomiť, že hlavným kľúčom tejto tabuľky je pole - Pe_ID. Len na to a tam bude veľa.

Druhá tabuľka Rozdelenie uloží informácie o oddeleniach, v ktorých zamestnanci pracujú. To je zase spojené s pomocou poľa Su_Person s tabuľkou Osoby. Čo to znamená? Na základe schémy údajov môžete povedať, že v tabuľke jednotiek pre každú položku v tabuľke Zamestnanci sa nachádzajú informácie o oddelení, v ktorom pracujú. Práve pre toto spojenie bude fungovať operátor Vnútorný spoj.

Pre lepšie pochopenie použite operátor SQL Inner Join (príklady jeho použitia pre jednu a dve tabuľky). Ak vezmeme do úvahy príklad jedného stola, potom je všetko jednoduché:

Zvoľte * z osoby

Vnútorná spojenie Subdivision na Su_Person = Pe_ID

Príklad pripojenia dvoch tabuliek a poddotazov

Operátor SQL Inner Join, ktorý môže byť použitý na výber údajov z viacerých tabuliek vyššie uvedeným spôsobom, pracuje na trochu komplikovanejšom princípe. Pre dve tabuľky komplikujeme problém. Napríklad máme odkladací stôl, ktorý ukladá informácie o všetkých oddeleniach v každom oddelení. V tejto tabuľke sa zaznamenáva číslo oddelenia a číslo zamestnanca a je potrebné doplniť údajovú vzorku s názvom každého oddelenia. Pri pohľade do budúcnosti stojí za zmienku, že na vyriešenie tohto problému môžu byť použité dve metódy.

Prvý spôsob je prepojiť tabuľku oddelení so vzorkou. V takomto prípade môžete tento dotaz usporiadať takto:

Zvoľte Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name od osoby

Vnútorná spojenie Subdivision na Su_Person = Pe_ID

Vnútorná spojka Odlet na Su_Depart = Dep_ID a Pe_Depart = Dep_ID

Druhou metódou riešenia problému je použitie poddotazu, v ktorom sa z tabuľky oddelení nevyberú všetky údaje, ale iba potrebné. Toto, na rozdiel od prvej metódy, zníži čas dopytu.

Zvoľte Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name od osoby

Vnútorná spojenie Subdivision na Su_Person = Pe_ID

Vnútorná spojitosť (Zvoľte Dep_ID, Dep_Name, Pe_Depart od Odchodu) ako T na Su_Depart = Dep_ID a Pe_Depart = Dep_ID

Stojí za zmienku, že tento návrh nemusí vždy urýchliť dotaz. Niekedy existujú prípady, kedy je potrebné použiť prídavné vzorkovanie údajov v dočasnej tabuľke (ak je ich objem príliš veľký) a potom sa skombinuje s hlavnou vzorkou.

Príklad použitia operátora Internal Join pre výber z veľkého počtu tabuliek

Vytváranie komplexných dopytov zahŕňa použitie značného počtu tabuliek a poddotáz, ktoré sa vzájomne vzťahujú na získanie údajov. Tieto požiadavky môžu spĺňať syntax SQL Inner Join. Príklady použitia operátora v tomto prípade môžu byť komplikované nielen vzorkami z mnohých miest na ukladanie dát, ale tiež z veľkého počtu vnorených poddotazov. V konkrétnom príklade môžete vziať vzorku údajov z systémových tabuliek (operátor Internal Join SQL). Príklad - 3 tabuľky - v tomto prípade bude mať pomerne zložitú štruktúru.

V tomto prípade sa pridajú ďalšie tri (do hlavnej tabuľky) a zadali sa viaceré podmienky výberu údajov.

Pri používaní operátora Inner Join si pamätajte, že čím zložitejší je dotaz, tým dlhšie bude implementovaný, takže stojí za to hľadať spôsoby rýchlejšieho vykonania a riešenia úlohy.

záver

Na záver by som chcel povedať jednu vec: práca s databázami nie je najťažšou vecou v programovaní, takže ak si prajete absolútne všetci zvládnuť vedomosti o budovaní databáz a nakoniec získanie skúseností, budete s nimi môcť pracovať na profesionálnej úrovni ,

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sk.delachieve.com. Theme powered by WordPress.