Acest tutorial vă va arăta cum să utilizați auto-unirea MySQL pentru a îmbina un tabel cu el însuși și a crea date personalizate.
Utilizare de bază
Auto-unirea MySQL folosește aliasuri de tabel pentru a vă asigura că nu repetați același tabel de mai multe ori într-o declarație.
NOTĂ: Dacă nu sunteți familiarizați cu pseudonimele de tabel, luați în considerare celălalt tutorial care explică pe deplin conceptul.
Sintaxa generală pentru utilizarea unei auto-îmbinări este similară cu una atunci când combinați două tabele. Cu toate acestea, folosim aliasuri de tabel. Luați în considerare interogarea prezentată mai jos:
SELECTAȚI alias1.cols,alias2.cols DIN tbl1 alias1,tbl2 alias2 UNDE [condiție]
Exemple de cazuri de utilizare
Să folosim exemple pentru a înțelege cum se realizează unirile MySQL. Să presupunem că aveți o bază de date cu următoarele informații (a se vedea interogarea completă mai jos)
CĂDERE BRUSCA SCHEMĂ DACĂ EXISTĂ de sine;CREA SCHEMĂ de sine;
UTILIZARE de sine;
CREA MASA utilizatori(
id INT CHEIA PRINCIPALA AUTO_INCREMENT ,
Nume VARCHAR (255),
e-mail VARCHAR (255),
plata_id INT ,
abonament INT
);
INTRODUCE ÎN utilizatori(Nume,e-mail,plata_id,abonament) VALORI („Valerie G. Phillip”, „[email protected]”, 10001, 1), („Sean R. Povestiri”, „[email protected]”, 10005, 2), („Bobby S. Newsome”, „[email protected]”, 100010, 5);
Vom începe cu o înscriere INNER și în cele din urmă o înscriere la stânga.
Self Join folosind Inner Join
Interogarea de mai jos efectuează o asociere INNER pe tabelul creat mai sus.
SELECTAȚI al1.* DIN utilizatori al1 INTERIOR A TE ALATURA utilizatori al2 PE al1.abonare=al2.abonare COMANDA DE id DESC ;Ieșirea este prezentată mai jos:
Self Join folosind Join Left
Exemplul de interogare de mai jos explică modul în care putem folosi auto join cu join la stânga.
SELECTAȚI ( CONCAT (al1.nume_nume, '->',al2.email)) LA FEL DE Detalii,al1.payment_id DIN utilizatori al1 STÂNGA A TE ALATURA utilizatori al2 PE al1.id=al2.id;Rezultatul rezultatului este mai jos:
Concluzie
Acest ghid v-a prezentat modul în care puteți utiliza MySQL self join pentru a vă alătura la o masă.
Mulțumesc că ai citit.