logo

MySQL ELIMINAR UNIRSE

La consulta DELETE es una subparte del lenguaje de manipulación de datos que se utiliza para eliminar filas de las tablas. Cómo eliminar unirse a mysql Es una pregunta muy popular durante las entrevistas. No es un proceso fácil utilizar las declaraciones de eliminación y unión en MySQL. En esta sección, describiremos cómo puede eliminar registros de varias tablas con el uso de INNER JOIN o LEFT JOIN en la consulta DELETE.

ELIMINAR UNIÓN con UNIÓN INTERNA

La consulta de unión interna se puede utilizar con la consulta Eliminar para eliminar filas de una tabla y las filas coincidentes de la otra tabla que cumplen la condición especificada.

Sintaxis

La siguiente es la sintaxis que se puede usar para eliminar filas de más de una tabla usando Inner Join.

 DELETE target table FROM table1 INNER JOIN table2 ON table1.joining_column= table2.joining_column WHERE condition 

Aquí, el objetivo es el nombre de una tabla de la que queremos eliminar filas cumpliendo la condición especificada. Supongamos que desea eliminar filas de la tabla. T1 y T2 dónde ID_estudiante = 2 , entonces se puede escribir como la siguiente declaración:

par c ++
 DELETE T1, T2 FROM T1 INNER JOIN T2 ON T1.student_id=T2.student.id WHERE T1.student_id=2; 

En la sintaxis anterior, la tabla de destino (T1 y T2) se escribe entre las palabras clave DELETE y FROM. Si omitimos algún nombre de tabla desde allí, entonces el eliminar declaración solo elimina filas de una sola tabla. La expresión escrita con EN La palabra clave es la condición que coincide con las filas de las tablas que va a eliminar.

Ejemplo

Supongamos que tenemos dos mesas. estudiantes y contactos que contiene los siguientes datos:

Tabla: estudiantes

MySQL ELIMINAR UNIRSE

Tabla: contactos

MySQL ELIMINAR UNIRSE

Ejecute la siguiente consulta para comprender el Eliminar Unirse con unión interior. Esta declaración elimina una fila que tiene la misma identificación en ambas tablas.

 DELETE students, contacts FROM students INNER JOIN contacts ON students.student_id=contacts.college_id WHERE students.student_id = 4; 

Después de una ejecución exitosa, dará el siguiente mensaje:

recorrido de preorden
MySQL ELIMINAR UNIRSE

Ahora, ejecute la siguiente consulta para verificar que las filas se eliminaron correctamente.

 mysql> SELECT * FROM students; mysql> SELECT * FROM contacts; 

Puedes ver que las filas donde ID_estudiante=4 esta borrado.

MySQL ELIMINAR UNIRSE MySQL ELIMINAR UNIRSE

ELIMINAR UNIRSE con UNIRSE A LA IZQUIERDA

Ya hemos aprendido la cláusula LEFT JOIN con la instrucción SELECT que devuelve todas las filas de la (primera) tabla izquierda y las filas coincidentes o no coincidentes de otra tabla. De manera similar, también podemos usar la cláusula LEFT JOIN con la palabra clave DELETE para eliminar filas de la tabla izquierda (primera) que no tienen filas coincidentes de una tabla derecha (segunda).

La siguiente consulta explica más claramente dónde la declaración DELETE usa LEFT JOIN para eliminar filas de Tabla 1 que no tiene filas coincidentes en el Tabla 2 :

 DELETE Table1 FROM Table1 LEFT JOIN Table2 ON Table1.key = Table2.key WHERE Table2.key IS NULL; 

En la consulta anterior, observe que solo usaremos la Tabla1 con la palabra clave DELETE, no ambas como lo hicimos en la declaración INNER JOIN.

Ejemplo

Creemos una tabla ' contactos ' y ' clientes ' en una base de datos que contiene los siguientes datos:

Tabla: contactos

programación java de números primos
MySQL ELIMINAR UNIRSE

Tabla: clientes

MySQL ELIMINAR UNIRSE

Ejecute la siguiente declaración que elimina al cliente que no tiene un Teléfono móvil número:

 DELETE customers FROM customers LEFT JOIN contacts ON customers.customer_id = contacts.contact_id WHERE cellphone IS NULL; 

Después de una ejecución exitosa, dará el siguiente mensaje:

MySQL ELIMINAR UNIRSE

Ahora, ejecute la siguiente consulta para verificar que las filas se eliminaron correctamente.

 mysql> SELECT * FROM customers; 

Puedes ver que se eliminan las filas donde el cliente no tiene el número de celular.

MySQL ELIMINAR UNIRSE