Quan s'ha d'utilitzar MySQL Self Join i exemples

When Use Mysql Self Join



MySQL Self-Join és un tipus d’unió SQL que us permet unir una taula a si mateixa. Funciona utilitzant altres tipus de combinació, com ara la clàusula de combinació interior o esquerra, per combinar files segons les condicions especificades.

Aquest tutorial us mostrarà com utilitzar la unió automàtica de MySQL per combinar una taula amb ella mateixa i crear dades personalitzades.







Ús bàsic

MySQL self-join utilitza àlies de taula per assegurar-vos que no repetiu la mateixa taula més d’una vegada en una sentència.



NOTA: Si no esteu familiaritzat amb els àlies de taula, tingueu en compte el nostre altre tutorial que explica el concepte completament.



La sintaxi general per utilitzar una unió automàtica és similar a la de combinar dues taules. Tot i això, fem servir àlies de taula. Penseu en la consulta que es mostra a continuació:





SELECCIONA alias1.cols,alias2.cols DE tbl1 alias1,tbl2 àlies2 ON [condició]

Casos d’ús d’exemple

Utilitzem exemples per entendre com es realitzen les autocombinacions de MySQL. Suposem que teniu una base de dades amb la informació següent (vegeu la consulta completa a continuació)

TIRAR ESQUEMA SI EXISTEIX jo mateix;
CREAR ESQUEMA jo mateix;
ÚS jo mateix;
CREAR TAULA usuaris(
identificador INT CLAU PRIMÀRIA AUTO_INCREMENT ,
nom VARCHAR (255),
correu electrònic VARCHAR (255),
id_pagament INT ,
subscripció INT
);
INSERTAR EN usuaris(nom,correu electrònic,id_pagament,subscripció) VALORS (Valerie G. Phillip, '[email protected]', 10001, 1), ('Sean R. Stories', '[email protected]', 10005, 2), ('Bobby S. Newsome', '[email protected]', 100010, 5);

Començarem amb una unió interior i finalment una unió a l’esquerra.



Unió personal mitjançant unió interior

La consulta següent realitza una unió INTERNA a la taula creada anteriorment.

SELECCIONA al1.* DE usuaris al1 INTERIOR UNEIX-TE usuaris al2 ACTIVAT subscripció a1=subscripció a2 DEMANAT PER identificador DESC ;

La sortida es mostra a continuació:

Unió personal mitjançant unió esquerra

L'exemple de consulta següent explica com podem fer servir unió automàtica amb unió esquerra.

SELECCIONA ( CONCAT (al1.nom_ primer, '->',al2.email)) AS detalls,al1.payment_id DE usuaris al1 ESQUERRA UNEIX-TE usuaris al2 ACTIVAT al1.id=al2.id;

El resultat de sortida es mostra a continuació:

Conclusió

Aquesta guia us ha explicat com podeu fer servir MySQL self join per unir-vos a una taula.

Gràcies per llegir.