Kedy použiť MySQL Self Join a príklady

When Use Mysql Self Join



MySQL Self-Join je typ spojenia SQL, ktorý vám umožňuje spojiť sa s tabuľkou. Funguje to tak, že na kombináciu riadkov na základe zadaných podmienok používa iné typy spojení, ako napríklad klauzulu vnútorného alebo ľavého spojenia.

Tento tutoriál vám ukáže, ako použiť vlastné spojenie MySQL na zlúčenie tabuľky so sebou a vytváranie prispôsobených údajov.







Základné použitie

MySQL self-join používa aliasy tabuliek, aby sa ubezpečil, že v jednom príkaze neopakujete rovnakú tabuľku viac ako raz.



POZNÁMKA: Ak nie ste oboznámení s aliasmi tabuliek, zvážte náš ďalší návod, ktorý tento koncept plne vysvetľuje.



Všeobecná syntax na používanie automatického spájania je podobná syntaxi pri kombinovaní dvoch tabuliek. Používame však aliasy tabuliek. Zvážte nasledujúci dotaz:





VYBERTE alias1.koly,alias2.koly OD tbl1 alias1,tbl2 alias2 KDE [podmienkou]

Príklad prípadov použitia

Použime príklady na pochopenie toho, ako vykonávať vlastné spojenia MySQL. Predpokladajme, že máte databázu s nasledujúcimi informáciami (celý dotaz nájdete nižšie)

POKLES SCHÉMA AK EXISTUJE seba;
VYTVORIŤ SCHÉMA seba;
POUŽITIE seba;
VYTVORIŤ TABUĽKA používateľov(
id INT PRIMÁRNY KĽÚČ AUTOMATICKÝ PRÍRASTOK ,
krstné meno VARCHAR (255),
e -mail VARCHAR (255),
ID_platby INT ,
predplatné INT
);
VLOŽIŤ DO používateľov(krstné meno,e -mail,ID_platby,predplatné) HODNOTY („Valerie G. Phillip“, '[email protected]', 10001, 1), („Príbehy Sean R.“, '[email protected]', 10005, 2), ('Bobby S. Newsome', '[email protected]', 100010, 5);

Začneme VNÚTORNÝM spojením a nakoniec ľavým spojením.



Pripojte sa pomocou vnútorného spojenia

Nasledujúci dotaz vykoná VNÚTORNÉ spojenie v tabuľke vytvorenej vyššie.

VYBERTE al1.* OD užívatelia al1 VNÚTORNÉ PRIPOJTE SA užívatelia al2 ZAPNUTÉ al1.predplatné=al2.predplatné ZORADIŤ PODĽA id DESC ;

Výstup je zobrazený nižšie:

Pripojte sa pomocou ľavého pripojenia

Nasledujúci príklad dotazu vysvetľuje, ako môžeme použiť automatické spojenie s ľavým spojením.

VYBERTE ( CONCAT (al1.prve_meno, '->',al2.email)) AS podrobnosti,al1.platba_id OD užívatelia al1 VĽAVO PRIPOJTE SA užívatelia al2 ZAPNUTÉ al1.id=al2.id;

Výsledok výstupu je uvedený nižšie:

Záver

Táto príručka vás prevedie tým, ako môžete použiť funkciu MySQL self join na spojenie sa so samotnou tabuľkou.

Ďakujem za čítanie.