Milloin käyttää MySQL Self Join ja esimerkkejä

When Use Mysql Self Join



MySQL Self-Join on eräänlainen SQL Join, jonka avulla voit liittää taulukon itseesi. Se toimii käyttämällä muita liitostyyppejä, kuten sisä- tai vasemmanpuoleista lauseketta, rivien yhdistämiseen määritettyjen ehtojen perusteella.

Tämä opetusohjelma näyttää, kuinka voit yhdistää taulukon itseesi ja luoda räätälöityjä tietoja MySQL-itseliitoksen avulla.







Peruskäyttö

MySQL-itseliitos käyttää taulukon aliaksia varmistaaksesi, että et toista samaa taulukkoa useammin kuin kerran yhdessä lausekkeessa.



HUOMAUTUS: Jos et tunne taulukon aliaksia, harkitse toista opetusohjelmaamme, joka selittää käsitteen täysin.



Yleinen syntaksi itseliitoksen käyttämiselle on samanlainen kuin kahden taulukon yhdistämisessä. Käytämme kuitenkin taulukon aliaksia. Harkitse alla esitettyä kyselyä:





VALITSE alias1.cols,alias2.cols ALK tbl1 alias1,tbl2 alias2 MISSÄ [kunto]

Esimerkkejä käyttötapauksista

Käytämme esimerkkejä ymmärtääksemme, miten MySQL -itseliitännät suoritetaan. Oletetaan, että sinulla on tietokanta, jossa on seuraavat tiedot (katso koko kysely alla)

PUDOTA SCHEMA JOS OLEMASSA itse;
LUODA SCHEMA itse;
KÄYTTÄÄ itse;
LUODA PÖYTÄ käyttäjille(
id INT PÄÄAVAIN AUTO_INCREMENT ,
etunimi VARCHAR (255),
sähköposti VARCHAR (255),
payment_id INT ,
tilaus INT
);
INSERT INTO käyttäjille(etunimi,sähköposti,payment_id,tilaus) ARVOT ('Valerie G.Phillip', '[email protected]', 10001, 1), ('Sean R. tarinat', '[email protected]', 10005, 2), ('Bobby S. Newsome', '[email protected]', 100010, 5);

Aloitamme SISÄISELLÄ liittymisellä ja lopulta vasemmalla liittymisellä.



Liity itse käyttämällä sisäistä liittymistä

Alla oleva kysely suorittaa INNER -liitännän yllä luodussa taulukossa.

VALITSE al1.* ALK käyttäjät al1 SISÄINEN LIITTYÄ SEURAAN käyttäjät al2 PÄÄLLÄ al1.tilaus=al2.tilaus TILAA id DESC ;

Lähtö näkyy alla:

Itse liittyminen käyttämällä vasenta liittymää

Alla olevassa esimerkkikyselyssä selitetään, kuinka voimme käyttää itseliittymistä vasemman liitoksen kanssa.

VALITSE ( CONCAT (al1.etunimi, '->',al2.sähköposti)) KUTEN yksityiskohdat,al1.payment_id ALK käyttäjät al1 VASEN LIITTYÄ SEURAAN käyttäjät al2 PÄÄLLÄ al1.id=al2.id;

Tulos on alla:

Johtopäätös

Tässä oppaassa käytiin läpi, kuinka voit käyttää MySQL -itseliittymää liittyäksesi taulukkoon itsesi kanssa.

Kiitos, että luit.