MySQL JOIN: popis, príklad využitia tímu a odporúčania

Vývoj databáz internetových zdrojov sa prakticky nelíši od štandardných databáz vyvinutých v systéme MS SQL SERVER. Zvyčajne sa pre takéto zdroje používa jazyk MY SQL, aj keď sa môže použiť na vývoj štandardných softvérových produktov na miestne použitie. Ale článok v článku to neurobí.

Často, keď pracujete s databázami v každom jazyku, je úlohou vytvoriť vzorku dát pre výstup v rôznych prehľadoch, grafoch atď. Pri realizácii takýchto úloh je spravidla potrebné použiť nie jeden, ale niekoľko tabuliek, kombinovať ich do jednej žiadosti, čo komplikuje jeho návrh. Je potrebné vziať do úvahy, ako sa majú zobrazovať údaje, ako sa stôl "utiahne" a aký výsledok bude čo najviac prijateľný pre programátora. Na vyriešenie takýchto problémov sa používa jeden zo štandardných jazykových konštrukcií MySQL - Join.


Pojem slovo Join

Jazyky vývoja databázy, bez ohľadu na to, aký je tento jazyk, štandardné pojmy sú prevzaté z anglických slovníkov (preto , bude pre vás oveľa jednoduchšie pracovať s tabuľkami). Na implementáciu pripojenia tabuliek vo vzorke sa používa rovnaké slovo - Pripojiť sa. V programovacom jazyku databáz My SQL. Preklad tohto oficiálneho slova je úplne rovnaký ako v samotnom jazyku - "združenie". Interpretácia MySQL - Pripojte sa a niektoré z nich budú úplne rovnaké. Ak sa dešifrujeOznačenie a najmä schéma jeho práce získame nasledovné hodnoty: konštrukty vám umožnia zbierať požadované polia z rôznych tabuliek alebo podstránok v jednej vzorke.


Typy konštrukcií združenia

Ak programátor potrebuje zozbierať vzorku z niekoľkých tabuliek a vie, aké sú v nich obsiahnuté kľúčové polia a aké presné údaje sú potrebné pre správu, potom je možné použiť jeden z hlavných konštrukcií združenia na dosiahnutie požadovaného výsledku. Hlavné konštrukcie (pre kombináciu tabuliek) sú štyri:
  • Vnútorný spoj.
  • Krížové pripojenie.
  • Ľavý spoj.
  • Pripojte sa správne.
  • V závislosti od úlohy prinesie každý štandardný návrh rôzne výsledky, ktoré vám umožnia prijímať správy v rôznych parametroch v krátkom čase.

    Vytvorenie a vyplnenie tabuliek pre budúce použitie

    Skôr ako začneme skúmať mechanizmy práce so štruktúrami zhromažďovania údajov, stojí za to pripraviť niekoľko tabuliek, s ktorými budeme pracovať v budúcnosti. To pomôže jasne preukázať všetky princípy fungovania prevádzkovateľov, a tak novým prijímateľom bude ľahko asimilovať všetky základy programovacích tabuliek. Prvá tabuľka opisuje niektoré témy, s ktorými sa človek neustále stretáva počas svojho života.
    V druhej tabuľke opisujeme niektoré vlastnosti objektov z prvej tabuľky, aby mohli s nimi pracovať v budúcnosti.
    Celkovo sú dve tabuľky dostatočné na ilustráciu svojej práce ako príklad. Teraz môžete začať našu praktickú revíziuštruktúry.

    Používanie vnútorného pripojenia

    Pri používaní konštrukcie MySQL - Join Ineer by sa mali brať do úvahy niektoré jeho funkcie. Tento návrh vám umožní vybrať z oboch tabuliek iba položky, ktoré sú tiež v prvej a druhej tabuľke. Ako to funguje? V prvej tabuľke máme hlavný kľúč - IDENTIFIER, ktorý ukazuje na sériové číslo záznamu v tabuľke.
    Pri vytváraní druhej tabuľky sa tento kľúč používa ako sériové číslo, príklad možno vidieť na výkresoch. Pri výbere údajov bude operátor Select určovať iba položky, ktorých poradové čísla sú rovnaké - preto sú tiež v prvej a druhej tabuľke. Pri používaní dizajnu je potrebné pochopiť, aké údaje je potrebné získať. Najčastejšou chybou, najmä pri začiatočníkovi databázového programátora, je nevhodné a nesprávne používanie návrhu Inner Join. Napríklad MySQL Inner Join, môžete zvážiť skript, ktorý sa k nám vráti z už opísaných a dokončených tabuliek informácií o objektoch a ich vlastnostiach. Ale tu môže byť niekoľko spôsobov, ako použiť dizajn. V tomto ohľade je My SQL veľmi flexibilným jazykom. Takže môžete zvážiť príklady použitia MySQL Inner Join. Kombinácia tabuliek bez špecifikácie parametrov. V tomto prípade získame výsledok takéhoto plánu:
    Ak spomíname pomocou služobného slova Použitie, že je nevyhnutné brať do úvahy hlavné kľúče záznamov v tabuľkách, výsledok vzorky sa radikálne zmení. V tomto prípade dostaneme vzorku, ktorá vráti iba tie riadky, ktoré majú rovnaké hlavné kľúče.
    Ďalšou možnosťou je použitie návrhu, keď v dotaze slovo "on" špecifikuje polia, pre ktoré by sa mali zlúčiť tabuľky. V tomto prípade vzorka vráti tieto údaje:

    Funkcie ľavého pripojenia

    Pri zvažovaní iného spôsobu zlúčenia tabuliek pomocou konštrukcie MySQL-Join môžete všimnúť rozdiel v zobrazených údajoch. Takýmto mechanizmom je konštrukcia ľavice.
    Použitie funkcie ľavého pripojenia MySQL má niektoré funkcie a rovnako ako Inner, vyžaduje jasné pochopenie výsledku, ktorý potrebujete. V tomto prípade vám bude vybraný zo všetkých záznamov z prvej tabuľky a neskôr sa pripojí záznamy z inej tabuľky vlastností. Teda v prípade, že prvý tabuľka obsahuje položku ako "stoličky", a v druhej tabuľke žiadnej reality do nej prevádzkovateľ ľavého predného odvolať tento príspevok uvedený null, čo znamená, že programátor, že príznaky tohto druhu témy č. Použitím tohto návrhu umožní určiť, v akých oblastiach alebo napríklad tovar v obchode nedávajte cenu, záručná doba a tak ďalej.

    Príklad použitia vľavo

    Ak chcete zvážiť stavbu operátora vľavo Pripojte sa k MySQL v praxi, používame tabuľky opísané skôr. Môžete napríklad vybrať celý zoznam položiek, ktoré sú v obchode, a zistiť, ktoré funkcie alebo vlastnosti nie sú označené. V tomto prípade vzorka zobrazí všetok tovar a pre tie, ktoré nemajú žiadne vlastnosti, budú nastavené prázdne hodnoty.

    Použitie v dizajne Kde sa pripojiť

    Akoparameter, asociácia môže obsahovať nielen polia, ktoré vyžadujú spojenie tabuľky, ale môžu zahŕňať aj operátor stavu kde. Napríklad uvažujme skript, ktorý by mal vrátiť iba tie záznamy, ktoré nemajú znak. V tomto prípade je konštrukcia Pripojiť prevádzkovateľ musí pripojiť podmienky a stanoviť, že musia byť vrátené ako výsledok. Ak používate MySQL Pripojiť - Kde by mali jasne pochopiť, že sa zobrazí len tie záznamy, ktoré obsahujú túto podmienku, a potom vzorka je nasledujúci:
    Takéto požiadavky umožňujú odber vzoriek špecifických údajov, ktoré sa týkajú preferovaného stavu programátora. Tieto podmienky môžete určiť niekoľkými spôsobmi, pričom maximalizujete parametre výberu údajov z kombinovaných tabuliek.

    Použitie pripojenia na úpravu údajov v tabuľkách

    Konštrukcia Join je v podstate univerzálna. Nielen, že môže robiť rad vzoriek, ale tiež pripojiť na dotazy od jednej do niekoľkých tabuliek, stanoviť dodatočné podmienky vo vzorke. Návrh sa dá použiť aj na iné dátové operácie. Áno, možnosť Pripojiť sa môže použiť na zmenu údajov v tabuľke. Alebo skôr objasniť podmienky v tabuľke, alebo v prípadoch, kedy je potrebné aktualizovať dáta v rôznych tabuľkách za rovnakých podmienok. Napríklad, zvážte takýto problém. Uvádzajú sa tri tabuľky, v ktorých sú niektoré údaje. V jednej tabuľke je potrebné zmeniť údaje v oboch tabuľkách. Je to riešenie tohto typu úloh, ktoré môžete použiť príkaz pripojiť k Pripojiť dizajn.Samotný typ pripojenia konštrukcie závisí, rovnako ako v prípade vzorky údajov, od výsledku, ktorý chce programátor získať. Zvážte najjednoduchší príklad. Potrebujete aktualizovať rovnaký dopyt za rovnakých podmienok. Takéto vyšetrovania sa robia s cieľom optimalizovať prácu s databázou. Prečo napísať rôzne otázky pre každú tabuľku, ak môžete urobiť všetky manipulácie s údajmi v jednom dotaze? Príklad aktualizácie MySQL Pripojte sa k nášmu prípadu by bol:

    Konštrukcia zložitých dopytov

    Pri práci s databázou je často potrebné vytvárať dopyty nielen pri priradení niekoľkých tabuliek, ale aj pomocou čiastkových dopytov. Takéto úlohy sú pomerne zložité na pochopenie začiatočného programátora databázy. Obtiažnosť spočíva v tom, že musíte premýšľať každým krokom, určiť, ktoré údaje, z ktorých tabuľky alebo dotazu musíte získať, a ako bude s nimi neskôr pracovať. Pre konkrétnejšie pochopenie môžete zvážiť (v MySQL Join) príklady zložitých dopytov. Ak ste noví do databázy a práve začínate pracovať s ním, potom bude také vzdelávanie prospešné. Ideálnou voľbou bude MySQL Left Join Examples.
    Táto žiadosť nám vráti 58 záznamov kúpnych zmlúv, na ktorých je k dispozícii vyvážený objem finančných prostriedkov pre zvolený dátum. V tomto prípade je to aktuálny dátum. Aj vo vzorke je podmienkou, že názov zmluvy by mal byť znaky - "123". Zobrazované informácie (údaje) zobrazené na obrazovke budú mať triedenie - triedenie podľa čísla zmluvy. Nasledujúci príklad zobrazí podrobnosti o všetkých platbách, ktoré sa vykonajúje uvedené číslo zmluvy.

    Použitie poddotazov

    Ako sme už uviedli, pri práci s databázami môžete kombinovať nielen tabuľky, ale aj tabuľku dopytov. Tento návrh sa používa predovšetkým na zrýchlenie dopytu a jeho optimalizáciu. Napríklad, ak potrebujete vybrať len dve polia z tabuľky, ktorá má niekoľko stoviek polí a povedzme tisíc záznamov, potom by ste mali použiť dotaz, ktorý vráti len povinné polia a skombinuje ho so základnou vzorkou údajov. Ako príklad MySQL Join Select môžete zvážiť žiadosť tohto typu:
    ​​Nie všetky spôsoby používania štandardných konštrukcií MySQL, ale iba štandardných. Ako používať dizajn Pripojte sa a v akých druhoch to rieši programátor, ale stojí za to pamätať a zohľadniť, aký výsledok by sa mal dosiahnuť pri vykonávaní dotazu.

    Súvisiace publikácie