
Al igual que las sentencias INSERT
y UPDATE
vistas anteriormente, también se pueden hacer borrados de registros utilizando consultas como parte de las tablas donde se hará la eliminación o como parte de la condición que delimita la operación.
Por ejemplo, si se ejecuta la siguiente sentencia:
DELETE FROM (SELECT LOGIN FROM USUARIOS, UNEN WHERE CODIGO_USUARIO=LOGIN AND PROVINCIA='PALENCIA');
El resultado es que se eliminan determinados registros de las tablas USUARIOS
y
UNEN
, en concreto, aquellos registros de la tabla UNEN
asociados a algún usuario de PALENCIA.
Puedes observar que no se ha establecido ninguna condición WHERE
en la sentencia, ya que se ha incluido dentro de la consulta. Otra manera de realizar la misma acción, pero utilizando la cláusula WHERE
es la siguiente:
DELETE FROM (SELECT LOGIN, PROVINCIA FROM USUARIOS, UNEN WHERE CODIGO_USUARIO=LOGIN) WHERE PROVINCIA='PALENCIA';