Kdaj uporabiti MySQL Self Join in primere

When Use Mysql Self Join



MySQL Self-Join je vrsta združevanja SQL, ki vam omogoča, da tabelo združite zase. Deluje tako, da uporablja druge vrste združevanja, na primer notranji ali levi člen za združevanje, da združi vrstice glede na podane pogoje.

Ta vadnica vam bo pokazala, kako z uporabo samopriključka MySQL združiti tabelo s seboj in ustvariti prilagojene podatke.







Osnovna uporaba

MySQL self-join uporablja vzdevke tabel, da zagotovi, da iste tabele ne ponovite več kot enkrat v enem stavku.



OPOMBA: Če niste seznanjeni z vzdevki tabel, si oglejte našo drugo vadnico, ki v celoti razlaga koncept.



Splošna skladnja za uporabo samo-združevanja je podobna tisti pri združevanju dveh tabel. Vendar pa uporabljamo vzdevke tabel. Razmislite o spodnji poizvedbi:





IZBERI alias1.cols,alias2.cols IZ tbl1 vzdevek1,tbl2 vzdevek2 KJE [stanje]

Primeri primerov uporabe

Uporabimo primere, da razumemo, kako izvesti samostojno pridružitev MySQL. Recimo, da imate bazo podatkov z naslednjimi informacijami (glejte celotno poizvedbo spodaj)

DROP SHEMA ČE OBSTAJA sebe;
Ustvari SHEMA sebe;
UPORABA sebe;
Ustvari TABELA uporabniki(
id INT PRIMARNI KLJUČ AUTO_INCREMENT ,
ime VARCHAR (255),
E-naslov VARCHAR (255),
plačilni_id INT ,
naročnina INT
);
VSTAVI INTO uporabniki(ime,E-naslov,plačilni_id,naročnina) VREDNOTE ('Valerie G. Phillip', '[zaščiteno po e -pošti]', 10001, 1), ('Sean R. Stories', '[zaščiteno po e -pošti]', 10005, 2), ('Bobby S. Newsome', '[zaščiteno po e -pošti]', 100010, 5);

Začeli bomo z INNER pridružitvijo in končno levim pridružitvijo.



Self Join z uporabo Inner Join

Spodnja poizvedba izvede združevanje INNER v zgoraj ustvarjeni tabeli.

IZBERI al1.* IZ uporabniki al1 NOTRANJA PRIDRUŽITE SE uporabniki al2 VKLOPLJENO al1.naročnina=al2.naročnina NAROČI PO id DESC ;

Izhod je prikazan spodaj:

Self Join z uporabo Left Join

Spodnja poizvedba razlaga, kako lahko uporabimo samodejno združevanje z levim.

IZBERI ( CONCAT (al1.prvo_ime, '->',al2.email)) AS podrobnosti,al1.payment_id IZ uporabniki al1 LEVO PRIDRUŽITE SE uporabniki al2 VKLOPLJENO al1.id=al2.id;

Izhodni rezultat je spodaj:

Zaključek

Ta vodnik vas je vodil skozi to, kako lahko uporabite MySQL za samopriključitev, da se mizi pridružite sami.

Hvala za branje.