Cuándo usar MySQL Self Join y ejemplos

When Use Mysql Self Join



MySQL Self-Join es un tipo de SQL Join que le permite unir una tabla a sí mismo. Funciona mediante el uso de otros tipos de combinación, como la cláusula de combinación interna o izquierda, para combinar filas según las condiciones especificadas.

Este tutorial le mostrará cómo utilizar la unión automática de MySQL para fusionar una tabla consigo misma y crear datos personalizados.







Uso básico

La autounión de MySQL utiliza alias de tabla para garantizar que no repita la misma tabla más de una vez en una declaración.



NOTA: Si no está familiarizado con los alias de tablas, considere nuestro otro tutorial que explica el concepto completamente.



La sintaxis general para usar una autocombinación es similar a la que se usa cuando se combinan dos tablas. Sin embargo, usamos alias de tablas. Considere la consulta que se muestra a continuación:





SELECCIONE alias1.cols,alias2.cols DE tbl1 alias1,tbl2 alias2 DÓNDE [condición]

Casos de uso de ejemplo

Usemos ejemplos para entender cómo realizar autouniones de MySQL. Suponga que tiene una base de datos con la siguiente información (consulte la consulta completa a continuación)

SOLTAR ESQUEMA SI EXISTE uno mismo;
CREAR ESQUEMA uno mismo;
USAR uno mismo;
CREAR MESA usuarios(
identificación EN T CLAVE PRIMARIA AUTOINCREMENTO ,
primer nombre VARCHAR (255),
Email VARCHAR (255),
pago_id EN T ,
suscripción EN T
);
INSERTAR DENTRO usuarios(primer nombre,Email,pago_id,suscripción) VALORES ('Valerie G. Phillip', '[correo electrónico protegido]', 10001, 1), ('Sean R. Historias', '[correo electrónico protegido]', 10005, 2), ('Bobby S. Newsome', '[correo electrónico protegido]', 100010, 5);

Comenzaremos con una combinación INNER y finalmente una combinación izquierda.



Autounión usando Inner Join

La siguiente consulta realiza una combinación INNER en la tabla creada anteriormente.

SELECCIONE al1.* DE usuarios al1 INTERNO ENTRAR usuarios al2 SOBRE al1.subscription=al2.subscription ORDENAR POR identificación DESC ;

La salida se muestra a continuación:

Autounión usando Unión a la izquierda

La consulta de ejemplo a continuación explica cómo podemos usar self join con left join.

SELECCIONE ( CONCAT (al1.first_name, ' -> ',al2.email)) COMO detalles,al1.payment_id DE usuarios al1 IZQUIERDA ENTRAR usuarios al2 SOBRE al1.id=al2.id;

El resultado de salida es el siguiente:

Conclusión

Esta guía le enseñó cómo puede utilizar MySQL self join para unirse a una tabla consigo mismo.

Gracias por leer.