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.