CODIGOHTML=<font color="00000" size="15">La sentencia DELETE nos permite eliminar nuevas filas en una tabla de base de datos conforme a una condicin.
Es equivalente al SELECT, pero en vez de mostrar las filas que cumplan la condicin, las elimina.
Su sintaxis es:
DELETE {FROM} tabla
{WHERE condicin};
Si se omite la clusula WHERE se borrarn todas las filas de la tabla.
Las condiciones pueden ser las mismas que las aplicadas en una sentencia SELECT.
En la clusula FROM no puede haber ms de una tabla, por lo que no es posible hacer joins en un DELETE.
Para hacer un "pseudojoin" hay que utilizar el operador IN comparando los campos clave de la tabla a borrar con el subselect de la tabla con la que se quiere hacer el join.
Ejemplos:
DELETE FROM FACTURA
WHERE REFERENCIA = 'A111';
DELETE FACTURA;
DELETE FACTURA
WHERE C_PAIS = 1 AND C_CLIENTE = 5;
DELETE FROM FACTURA
WHERE REFERENCIA NOT IN ( SELECT REFERENCIA
FROM FACTURA
WHERE C_CLIENTE = 4 );
DELETE FROM FACTURA
WHERE C_CLIENTE != 4;
DELETE FROM FACTURA
WHERE (C_PAIS,C_CLIENTE) IN ( SELECT C_PAIS, C_CLIENTE
FROM CLIENTE
WHERE D_CLIENTE LIKE '%Fernndez%' );
DELETE FROM FACTURA
WHERE (C_PAIS,C_CLIENTE) IN ( SELECT C_PAIS, C_CLIENTE
FROM CLIENTE
WHERE CLIENTE.C_PAIS = FACTURA.C_PAIS AND
CLIENTE.C_CLIENTE = FACTURA.C_CLIENTE AND
D_CLIENTE LIKE '%Fernndez%' );</font>