Când se utilizează MySQL Self Join și exemple

When Use Mysql Self Join



MySQL Self-Join este un tip de SQL Join care vă permite să vă alăturați unei tabele la sine. Funcționează utilizând alte tipuri de îmbinare, cum ar fi clauza de îmbinare interioară sau stânga, pentru a combina rândurile pe baza condițiilor specificate.

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.