/ / MySQL JOIN: popis, príklad použitia príkazu a odporúčania

MySQL JOIN: popis, príklad použitia príkazu a odporúčania

Vývoj databáz internetových zdrojovsa prakticky nelíši od štandardných databáz vyvinutých v systéme MS SQL SERVER. Pre tento druh zdrojov sa spravidla používa jazyk MY SQL, aj keď sa dá použiť aj na vývoj štandardných softvérových produktov na miestne použitie. Ale o tom tento článok nie je.

pripojiť sa k mysql

Často pri práci s databázami v každej z nichjazykoch je úlohou vytvoriť vzorku údajov na výstup do rôznych správ, grafov atď. Pri implementácii takýchto úloh spravidla musíte použiť nie jednu, ale niekoľko tabuliek, ktoré ich skombinujú do jedného dotazu, čo výrazne komplikuje ich dizajn. V takom prípade je potrebné vziať do úvahy to, ako sa budú dáta zobrazovať, ako sa „vytiahnu“ tabuľky a aký výsledok bude pre programátora najprijateľnejší. Na riešenie týchto problémov sa používa jeden zo štandardných jazykových konštruktov MySQL, Join.

Koncept slova Pripoj sa

Jazyky pre vývoj databáz, nezáleží na tom, ktorétoto je jazyk, štandardné slová z anglických slovníkov sa berú ako základ (preto s prácou s tabuľkami pre vás bude za predpokladu, že viete anglicky, oveľa jednoduchšie). Na implementáciu spojenia tabuliek do výberu sa používa rovnaké slovo - Pripojiť sa. V programovacom jazyku databázy sa používa My SQL. Preklad tohto služobného slova je úplne rovnaký ako v samotnom jazyku - „odbor“.

Interpretácia konštrukcie MySQL - Pripojte sa, aktorýkoľvek z nich bude úplne rovnaký. Ak dešifrujeme účel štruktúry, konkrétne schému jej fungovania, dostaneme nasledujúci význam: štruktúry umožnia zhromaždiť potrebné polia z rôznych tabuliek alebo vnorené dotazy do jedného výberu.

Typy štruktúr na kombinovanie

pripojiť sa k mysql

Ak programátor potrebuje odobrať vzorku zniekoľko tabuliek a vie, ktoré kľúčové polia sú v nich a aké údaje sú potrebné pre správu, potom môžete na dosiahnutie požadovaného výsledku použiť jeden zo základných konštruktov spojenia. Existujú štyri základné konštrukty (na spájanie tabuliek):

  1. Vnútorné spojenie.
  2. Krížový spoj.
  3. Pripojte sa doľava.
  4. Správne sa pripojte.

V závislosti od konkrétnej úlohy bude mať každý zo štandardných návrhov odlišné výsledky, čo vám umožní prijímať správy o rôznych parametroch v krátkom čase.

Vytváranie a vypĺňanie tabuliek pre ďalšie použitie

Skôr ako začnete, zvážtemechanizmy pre prácu s konštruktmi dátovej únie, stojí za to pripraviť niekoľko tabuliek, s ktorými budeme v budúcnosti pracovať. To pomôže vizuálne ukázať všetky princípy fungovania operátorov, navyše sa týmto spôsobom začiatočníci ľahšie naučia všetky základy programovacích tabuliek.

Prvá tabuľka popíše niektoré z objektov, s ktorými sa človek neustále stretáva počas celého života.

pripojiť sa k mysql

V druhej tabuľke si popíšeme niektoré vlastnosti objektov z prvej tabuľky, aby ste s nimi mohli v budúcnosti pracovať.

zľava pripojiť sa k mysql

Všeobecne budú na ilustráciu ich práce stačiť dve tabuľky. Teraz môžete začať praktickú kontrolu našich návrhov.

Používanie vnútorného spojenia

Pri použití konštrukcie MySQL - Pripojte sa k Ineerstojí za to zvážiť niektoré z jeho funkcií. Tento dizajn vám umožní vybrať z oboch tabuliek iba tie záznamy, ktoré sa nachádzajú v prvej a druhej tabuľke. Ako to funguje? V prvej tabuľke máme hlavný kľúč - ID, ktorý označuje radový počet záznamov v tabuľke.

Pri vytváraní druhej tabuľky rovnaký kľúčsa používa ako sériové číslo, príklad je možné vidieť na obrázkoch. Pri výbere údajov príkaz Select ako výsledok určí iba tie záznamy, ktorých poradové čísla sa zhodujú, čo znamená, že sa nachádzajú v prvej a druhej tabuľke.

Pri použití konštrukcie musíte pochopiťaký druh údajov potrebujete získať. Najbežnejšou chybou, najmä pre začínajúceho databázového programátora, je iracionálne a nesprávne použitie konštruktu Inner join. Ako príklad, MySQL Inner Join, môžete považovať skript, ktorý nám vráti z vyššie popísaných a vyplnených tabuliek informácie o objektoch a ich vlastnostiach. Aj tu však môže byť niekoľko spôsobov, ako štruktúru využiť. Z tohto hľadiska je My SQL veľmi flexibilný jazyk. Môžete sa teda pozrieť na príklady použitia pripojenia MySQL Inner Join.

Zreťazenie tabuliek bez zadania akýchkoľvek parametrov. V takom prípade dostaneme výsledok takéhoto plánu:

mysql vnútorné spojenie

Ak to označíme prostredníctvom slova Používanie služby, žeje nevyhnutné brať do úvahy hlavné kľúče záznamov v tabuľkách, potom sa výsledok výberu dramaticky zmení. V takom prípade dostaneme výber, ktorý vráti iba tie riadky, ktoré majú rovnaké hlavné kľúče.

príklady pripojenia mysql

Možný je aj tretí prípad použitia.stavby, keď v dotaze cez slovo „na“ sú označené polia, ktorými by sa mali tabuľky spojiť. V takom prípade výber vráti nasledujúce údaje:

mysql pripojiť sa vybrať

Vlastnosti používania funkcie Left Join

Ak uvažujete o inom spôsobe spájania tabuliek pomocou konštrukcie MySQL - Pripojiť, môžete si všimnúť rozdiel v zobrazených údajoch. Tento mechanizmus je ľavicový konštrukt.

Používanie funkcie Left Join MySQL má niektoré zvláštnosti a rovnako ako Inner vyžaduje jasné pochopenie výsledku, ktorý sa má dosiahnuť.

V takom prípade sa najskôr vyberú všetky záznamy.z prvej tabuľky a k nim sa neskôr pripoja záznamy z druhej tabuľky vlastností. Súčasne, ak prvá tabuľka obsahuje záznam, napríklad „stolička“, a druhá tabuľka nemá pre ňu jedinú vlastnosť, operátor Left pred týmto záznamom zobrazí hodnotu null, čo oznámi programátorovi že pre tento typ objektu nie sú žiadne známky ...

Použitie tohto dizajnu vám umožní určiť, ktoré polia alebo napríklad tovar v obchode nie sú ocenené, záručná doba atď.

Príklad použitia Left

Prevádzkovateľ to musí v praxi zohľadniťKonštrukty MySQL Left Join používajú skôr opísané tabuľky. Napríklad musíte vybrať celý zoznam výrobkov, ktoré sa nachádzajú v obchode, a skontrolovať, či z nich nie sú žiadne znaky alebo vlastnosti. V takom prípade sa pri výbere zobrazia všetky produkty a pre tie, ktoré nemajú vlastnosť, sa nastavia prázdne hodnoty.

aktualizácia mysql pripojiť sa

Použitie klauzuly Where in a Join

Ako parameter môže spojenie obsahovať nielen špecifikovanie polí, s ktorými musia byť tabuľky spojené, ale môže obsahovať aj operátor klauzuly Where.

Zvážte napríklad skript, ktorý by malvrátiť nám iba tie záznamy, pre ktoré nie je značka pripevnená. V takom prípade musíte do konštrukcie Pripojiť pridať operátor podmienky a určiť, čo presne treba vo výsledku vrátiť.

Pri použití funkcie Pripojiť - Kde v MySQL musíte jasne pochopiť, že sa zobrazia iba tie záznamy, na ktoré sa vzťahuje zadaná podmienka, a potom bude výber vyzerať takto:

mysql pripojiť sa kde

Takéto dotazy umožňujú výber pomocoukonkrétne údaje, ktoré sa týkajú stavu zvoleného programátorom. Môžete určiť niekoľko takýchto podmienok pri maximalizácii parametrov pre výber údajov z kombinovaných tabuliek.

Používanie spojenia na úpravu údajov v tabuľkách

Konštrukt join je v podstate univerzálny.Umožňuje vám nielen vykonať rôzne výbery, ale aj zahrnúť do dotazov od jednej do niekoľkých tabuliek a zadať do výberu ďalšie podmienky. Konštrukt je možné použiť aj na ďalšie dátové operácie. Napríklad Join sa dá použiť na úpravu údajov v tabuľke. Radšej vyjasnite podmienky v tabuľke alebo v prípadoch, keď je potrebné aktualizovať údaje vo viacerých tabuľkách za rovnakých podmienok.

Zvážte napríklad nasledujúci problém.Existujú tri tabuľky, ktoré obsahujú niektoré údaje. Musíte zmeniť údaje v oboch tabuľkách pomocou jedného dotazu. Na vyriešenie tohto druhu úloh môžete použiť konštrukciu Pripojiť sa v príkaze Aktualizovať. Samotný typ konštrukcie Join závisí, rovnako ako v prípade vzorkovania údajov, od výsledku, ktorý chce programátor získať.

Pozrime sa na najjednoduchší príklad.Je potrebné aktualizovať údaje za rovnakých podmienok jednou požiadavkou. Dotazy tohto druhu sú zostavené tak, aby optimalizovali prácu s databázou. Prečo písať rôzne dotazy pre každú z tabuliek, keď môžete robiť všetku manipuláciu s dátami pomocou jedného dotazu? Príklad MySQL Update Join v našom prípade bude taký:

príklady spojenia vľavo mysql

Vytváranie zložitých otázok

Pomerne často pri práci s databázouje potrebné vytvárať dotazy nielen spojením niekoľkých tabuliek, ale aj použitím poddotazov. Pre začínajúceho databázového programátora je takéto úlohy dosť ťažké pochopiť. Problém spočíva v tom, že si musíte každý krok premyslieť, určiť, ktoré údaje z ktorej tabuľky alebo dotazu musíte získať, a ako s nimi budete musieť v budúcnosti pracovať.

Pre konkrétnejšie pochopenie môžete zvážiť(v MySQL Join) príklady zložitých otázok. Ak ste začiatočník a len začínate pracovať s databázami, potom bude takéto školenie iba prospešné. Ideálnou možnosťou by boli príklady MySQL Left Join.

zľava pripojiť sa k mysql

Táto požiadavka nám vráti 58 záznamov zmlúvtržby, pre ktoré je zostatok v hotovosti vyplnený alebo existuje k zvolenému dátumu. V takom prípade je to aktuálny dátum. Do výberu bola tiež pridaná podmienka, že názov zmluvy musí obsahovať symboly - „123“. Informácie (údaje) zobrazené na obrazovke budú zoradené - zoradené podľa čísla zmluvy.

Nasledujúci príklad zobrazí údaje o všetkých platbách, v ktorých bude uvedené číslo zmluvy.

pripojiť sa k mysql

Pomocou poddotazov

Ako už bolo spomenuté skôr, pri práci s databázamimôžete kombinovať nielen tabuľky, ale aj tabuľku s dotazom. Tento dizajn sa používa hlavne na urýchlenie dotazu a jeho optimalizáciu.

Napríklad, ak je to potrebné z tabuľky, ktorámá niekoľko stoviek polí a povedzme tisíc záznamov, vyberte iba dve polia, potom by ste mali použiť dotaz, ktorý vráti iba povinné polia, a skombinovať ho s hlavnou množinou údajov. Ako príklad MySQL Join Select môžete považovať dotaz tohto typu:

pripojiť sa k mysql

Nie sú to všetky spôsoby použitia normyMySQL konštrukcie, ale iba štandardné. Ako používať konštrukciu Pripojiť sa a v akých formách je na samotnom programátorovi, ale stojí za to pamätať a brať do úvahy, aký výsledok by sa mal dosiahnuť pri vykonaní dotazu.