Mysql – Eliminar registros de una tabla que no existen en otra

Muchas veces, sobretodo en importaciones de bases de datos, nos puede interesar crear una nueva tabla a partir de dos tablas existentes, o eliminar datos que no nos interesan. Pongamos un ejemplo:

TablaUsuarios
id (identificador)
nombre (nombre de los datos)

TablaNewsletter
id (identificador usuarios)
email

Pues ahora resulta, que se nos jira la cabeza, y nos enfadamos con todos los clientes que no se han apuntado a la newsletter. Los eliminamos.

1
DELETE FROM TablaUsuarios WHERE id NOT IN (SELECT id FROM TablaNewsletter);

De este modo, eliminamos los registros de usuarios que no esten en Newsletter. Somos así de estrictos…

Artículos relacionados

Mysql – Importar una base de datos desde con... Cuando manejamos grandes cantidades de datos en MySql, se hace difícil importar base de datos con phpMyAdmin (herramienta online que permite trabajar ...
MySql – Modificar un texto determinado en el... La sentencia para modificar un texto determinado en un camp en Mysql es: UPDATE tabla SET campo = replace(campo, "texto a modificar", "texto nuev...
SQL – Listar registros duplicados o repetido... Cuando estamos trabajando con bases de datos con muchos registros, se puede producir muchos errores. Muchos de ellos es la duplicación de registros. H...
MySql – Borrar saltando restricción Foreign ... Cuando estamos trabajando en base de datos de pruebas (en local o servidor), en ocasiones y normalmente en base de datos muy pesadas, nos puede intere...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*