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

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

Vývoj akejkoľvek databázy neznamenáiba vytváranie a vypĺňanie tabuliek rôznymi informáciami, ale aj ďalšia práca s údajmi. Na správne vykonávanie rôznych úloh výberu údajov z tabuliek a generovania správ sa používa štandardná konštrukcia Select.

príklad vnútorného spojenia sql

Načítanie údajov z tabuliek

Ak vezmeme do úvahy problém výberu údajov respvytvorením nejakej správy, môžete určiť úroveň zložitosti tejto operácie. Spravidla sa pri práci s vážnymi (z hľadiska objemu informácií) databázami, ktoré sa tvoria napríklad v internetových obchodoch alebo veľkých spoločnostiach, výber údajov neobmedzuje iba na jednu tabuľku. Je pravidlom, že výber môže byť z pomerne veľkého počtu nielen vzájomne prepojených tabuliek, ale aj vnorených dotazov / poddotazov, ktoré v závislosti od úlohy, ktorú mu pridelil, vykonáva sám programátor. Na výber z jednej tabuľky môžete použiť najjednoduchšiu konštrukciu:

Vyberte * z Person

kde Osoba je názov tabuľky, z ktorej chcete načítať údaje.

Ak potrebujete vybrať údaje z viacerých tabuliek, môžete na spojenie viacerých tabuliek použiť jeden zo štandardných konštruktov.

Spôsoby pripojenia ďalších tabuliek

Ak vezmeme do úvahy použitie tohto druhu konštrukcií na počiatočnej úrovni, potom môžeme rozlíšiť nasledujúce mechanizmy na pripojenie požadovaného počtu tabuliek na výber, a to:

  1. Operátor vnútorného spojenia.
  2. Left Join alebo, toto je druhý spôsob písania, Left Outer Join.
  3. Krížový spoj.
  4. Úplné pripojenie.

Naučte sa, ako používať operátory spojenia tabuliek v praxi, a to preskúmaním použitia operátora SQL - Vnútorné spojenie. Príklad jeho použitia bude vyzerať takto:

Vyberte * z Person

Vnútorné členenie na pododdelenie na Su_Person = Pe_ID

Môže to byť jazyk SQL a operátor Join Inner Joinpoužitie nielen na spojenie dvoch alebo viacerých tabuliek, ale aj na pripojenie ďalších poddotazov, čo výrazne uľahčuje prácu správcom databáz a spravidla môže výrazne urýchliť vykonávanie určitých zložitých dotazov.

Kombinovanie údajov v tabuľkách riadok po riadku

príklady príkazu sql internal join

Ak uvažujete o pripojení veľkého počtu poddotazov a zhromažďovaní údajov do jedného riadku po riadku tabuľky, môžete tiež použiť operátory Union a Union All.

Použitie týchto štruktúr bude závisieť od úlohy stanovenej pre vývojára a od výsledku, ktorý chce nakoniec dosiahnuť.

Popis operátora Inner Join

Vo väčšine prípadov kombinovať niekoľkoTabuľky SQL používajú operátor Vnútorné spojenie. Opis Inner Join v SQL je pre priemerného programátora, ktorý s databázami ešte len začína, celkom ľahko pochopiteľný. Ak vezmeme do úvahy popis mechanizmu fungovania tejto štruktúry, dostaneme nasledujúci obrázok. Logika operátora ako celku je založená na možnosti prieniku a výberu iba tých údajov, ktoré sú v každej z tabuliek zahrnutých do dotazu.

Ak vezmeme do úvahy túto prácu z hľadiska grafickej interpretácie, dostaneme štruktúru operátora SQL Inner Join, ktorého príklad je možné znázorniť pomocou nasledujúceho diagramu:

príklady syntaxe vnútorného spojenia sql

Napríklad máme dve tabuľky, ktorých schéma jezobrazené na obrázku. Oni zase majú iný počet záznamov. Každá z tabuliek má polia, ktoré spolu súvisia. Ak sa pokúsime na základe obrázku vysvetliť operáciu operátora, potom bude vrátený výsledok vo forme množiny záznamov z dvoch tabuliek, kde sa počty súvisiacich polí zhodujú. Jednoducho povedané, dopyt vráti iba tie záznamy (z tabuľky číslo dva), ktorých údaje sú v tabuľke číslo jedna.

Syntax operátora vnútorného spojenia

Ako už bolo spomenuté, operátor Inner Join aje to jeho syntax, ktorá je neobvykle jednoduchá. Na usporiadanie odkazov medzi tabuľkami v rámci jednej vzorky bude stačiť zapamätať si a použiť nasledujúci schematický diagram na zostavenie operátora, ktorý je napísaný v jednom riadku kódu programu SQL, a to:

  • Vnútorné spojenie [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 u tohto operátora hlavnýkľúče od stola. Spravidla platí, že v skupine tabuliek, ktoré uchovávajú informácie o zamestnancoch, majú predtým opísané osoby a pododdiely aspoň jeden podobný záznam. Pozrime sa teda podrobnejšie na príkaz SQL Inner Join, ktorého príklad bol uvedený už skôr.

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

Máme stôl Person, ktorý ukladáinformácie o všetkých zamestnancoch pracujúcich v spoločnosti. Ihneď si všimneme, že hlavným kľúčom tejto tabuľky je pole - Pe_ID. Je na ňom, že parta pôjde.

Uloží sa druhá tabuľka rozdeleniainformácie o oddeleniach, v ktorých zamestnanci pracujú. Ten je zase prepojený cez pole Su_Person s tabuľkou Person. Čo to znamená? Na základe dátovej schémy môžeme povedať, že tabuľka oddelení pre každý záznam z tabuľky „Zamestnanci“ bude obsahovať informácie o oddelení, v ktorom pracujú. Na tomto spojení bude fungovať operátor Inner Join.

Pre jasnejšie použitie zvážte operátor SQL Inner Join (príklady jeho použitia pre jednu a dve tabuľky). Ak vezmeme do úvahy príklad pre jednu tabuľku, potom je všetko celkom jednoduché:

Vyberte * z Person

Vnútorné členenie na pododdelenie na Su_Person = Pe_ID

Príklad spojenia dvoch tabuliek a poddotazu

sql a operátor spojenia vnútorné spojenie

Príklady použitia operátora SQL Inner Join Operatorktoré na načítanie údajov z niekoľkých tabuliek možno usporiadať vyššie uvedeným spôsobom, funguje podľa mierne komplikovaného princípu. Komplikujme úlohu pre dva stoly. Povedzme, že máme tabuľku Odlet, ktorá uchováva informácie o všetkých oddeleniach v každom z oddelení. Táto tabuľka obsahuje číslo oddelenia a počet zamestnancov a vzorku údajov musíte doplniť názvom každého oddelenia. Do budúcnosti stojí za to povedať, že na vyriešenie tohto problému je možné použiť dve metódy.

Prvým spôsobom je pripojenie tabuľky oddelení k výberu. V takom prípade môžete žiadosť usporiadať nasledovne:

Vyberte Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name od osoby

Vnútorné členenie na pododdelenie na Su_Person = Pe_ID

Vnútorné pripojenie Odchod na Su_Depart = Dep_ID a Pe_Depart = Dep_ID

Druhá metóda riešenia problému je použitiepoddotaz, v ktorom sa z tabuľky oddelení nevyberú všetky údaje, ale iba nevyhnutné. To na rozdiel od prvej metódy zníži čas spracovania dotazu.

Vyberte Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name od osoby

Vnútorné členenie na pododdelenie na Su_Person = Pe_ID

Vnútorné spojenie (vyberte Dep_ID, Dep_Name, Pe_Depart z Depart) ako T na Su_Depart = Dep_ID a Pe_Depart = Dep_ID

Je potrebné poznamenať, že tento dizajn nie je vždymôže dopyt urýchliť. Niekedy existujú prípady, keď musíte použiť dodatočný výber údajov v dočasnej tabuľke (ak je ich veľkosť príliš veľká) a potom ich skombinovať s hlavným výberom.

Príklad použitia operátora Vnútorné spojenie na výber z veľkého počtu tabuliek

Budovanie zložitých otázok zahŕňapoužitie významného počtu navzájom súvisiacich tabuliek a podotázok na výber údajov. Tieto požiadavky môže splniť syntax SQL Inner Join. Príklady použitia operátora v tomto prípade môžu byť komplikované nielen výberom z mnohých umiestnení úložiska dát, ale aj veľkým počtom vnorených poddotazov. Pre konkrétny príklad môžete vziať výber údajov zo systémových tabuliek (operátor Inner Join SQL). Príklad - 3 tabuľky - bude mať v tomto prípade pomerne zložitú štruktúru.

Vnútorná tabuľka sql príklad 3

V tomto prípade sú spojené ďalšie tri ďalšie podmienky (k hlavnej tabuľke) a je zavedených niekoľko podmienok pre výber údajov.

Pri použití operátora Inner Join to stojíPamätajte, že čím je požiadavka zložitejšia, tým dlhšie jej bude trvať implementácia. Preto stojí za to hľadať spôsoby, ako danú úlohu rýchlejšie vykonať a vyriešiť.

Vnútorná tabuľka sql príklad 3

záver

Na záver by som chcel povedať jednu vec:práca s databázami nie je pri programovaní najťažšou vecou, ​​preto si v prípade potreby môže úplne každý osvojiť vedomosti o zostavovaní databáz a po získaní skúseností s nimi bude časom možné pracovať na profesionálnej úrovni.

páčilo sa:
0
Populárne príspevky
Duchovný rozvoj
jedlo
y