Cómo se elimina MySQL con las declaraciones de unión de eliminación

Cómo se elimina MySQL con las declaraciones de unión de eliminación
Este tutorial discutirá cómo usar la cláusula de eliminación MySQL en una declaración de unión para eliminar datos de múltiples tablas que cumplan con la condición especificada.

El propósito de este tutorial es ayudarlo a comprender cómo usar la cláusula Eliminar junto con la cláusula de unión para eliminar los datos a la vez. Si eres nuevo en MySQL, considere nuestros otros tutoriales, como tutoriales de juntas y tablas de caída.

Empecemos.

Uso básico: Eliminar con la unión interior

El primer método de eliminación que discutiremos es cómo usar la cláusula de eliminación MySQL dentro de una declaración de unión interna para eliminar los datos de las filas que coinciden con otra tabla.

La sintaxis general para implementar dicha consulta se muestra a continuación:

Eliminar TBL1, TBL2 de TBL1 Inner Join TBL2 en TBL1.col = TBL2.col donde [condición];

Déjame asegurarte que es más fácil de lo que parece. Dejame explicar:

Comenzamos especificando las tablas de las que queremos eliminar los datos. Las tablas se especifican entre la eliminación y la cláusula.

En la segunda parte, especificamos la condición para las filas coincidentes en las tablas de ajuste. Por ejemplo:

TBL1.col = TBL2.columna

Finalmente, establecemos la condición Where que determina las filas en las tablas especificadas que se eliminarán.

Caso de uso de ejemplo

Permítanme usar un ejemplo para ilustrar cómo podemos usar la cláusula de eliminación y la unión interna para eliminar las filas de varias tablas. Considere las consultas a continuación:

Crear sociedad de esquema;
Usar la sociedad;
Tabla de soltar si existe usuarios, contactos;
Crear usuarios de tabla (
user_id int primario clave auto_increment,
First_Name Varchar (100),
Last_Name Varchar (100),
Estado Varchar (50)
);
Crear contactos de tabla (
home_id int primario clave auto_increment,
Tel Varchar (50),
Dirección Varchar (255)
);
Inserte en usuarios (First_Name, Last_Name, State) Valores ("John", "Muller", "Colorado"), ("Mary", "Jane", "California"), ("Peter", "Quill", "Nuevo York ");
Insertar en contactos (Tel, dirección) Valores ("303-555-0156", "281 Denver, Colorado"), ("661-555-0134", "302 Drive, Bakersfield"), ("516-555-0148" "," 626 est Meadow, NYC ");

Una vez que tenemos dichos datos, podemos ilustrar cómo usar Eliminar con la unión interna como se muestra en la consulta a continuación:

Eliminar la sociedad.usuarios, sociedad.Contactos de la sociedad.Los usuarios de unión interna de unión a los usuarios en user_id = home_id donde user_id = 3;

La consulta de arriba mostrará el resultado como se muestra a continuación:

Dos filas afectadas en 7 ms, lo que indica que se han eliminado dos filas.

Eliminar con la izquierda unirse

El segundo método de eliminación que discutiremos es usar la unión izquierda. La sintaxis general para este tipo de eliminación es como se muestra a continuación:

Eliminar TBL1 de TBL1 Izquierda Unión TBL2 en TBL1.col = TBL2.Col donde tble.Col es nulo;

Para Eliminar con la unión izquierda, solo especificamos una tabla similar a la unión interna donde especificamos dos tablas.

Considere la consulta completa a continuación:

Usar la sociedad;
Tabla de soltar si existe usuarios, contactos;
Crear usuarios de tabla (
user_id int primario clave auto_increment,
First_Name Varchar (100),
Last_Name Varchar (100),
Estado Varchar (50)
);
Crear contactos de tabla (
home_id int primario clave auto_increment,
Tel Varchar (50),
Dirección Varchar (255)
);
Inserte en usuarios (First_Name, Last_Name, State) Valores ("John", "Muller", "Colorado"), ("Mary", "Jane", "California"), ("Peter", "Quill", "Nuevo York "), (" Mystic "," Arts "," Carolina del Sur ");
Insertar en contactos (Tel, dirección) Valores ("303-555-0156", "281 Denver, Colorado"), ("661-555-0134", "302 Drive, Bakersfield"), ("516-555-0148" "," 626 est Meadow NYC "), (" 843-555-0105 ", nulo);
Eliminar los usuarios de los usuarios de los usuarios se unirá a los contactos en user_id = home_id donde la dirección es nula;
Seleccionar * de los usuarios;

Una vez que ejecutamos la consulta anterior, el usuario cuya dirección es nula después de que se elimine la unión y el resultado de salida se muestra a continuación:

Conclusión

En este tutorial, discutimos cómo usar MySQL Eliminar con declaraciones de unión para eliminar datos de múltiples tablas.