¡Esta es una revisión vieja del documento!
Un borrado se expresa de igual modo que una consulta y permite el borra de de sólo tuplas completas, es decir, no se pueden borrar valores de atributos concretos.
<code>delete from r r representa una relación</code> <code>where P P representa un predicado </code>
La declaración delete selecciona primero todas las tuplas t en r para las que P (t) es cierto y a continuación las borra de r. La cláusula where se puede omitir, en cuyo caso se borran todas las tuplas de r.
Una orden delete opera sólo sobre una relación. Para borrar tuplas de varias relaciones, se utilizará una orden delete por cada relación. El predicado de la cláusula where puede ser tan complicado como el where de cualquier cláusula select, o tan simple como una cláusula where vacía.
La consulta
<code>delete from préstamo </code> borra todas las tuplas de la relación préstamo.
Ejemplos de borrados en SQL. Borrar todas las cuentas de la sucursal Navacerrada.
delete from cuenta where nombre-sucursal = ‘Navacerrada’
• Borrar todos los préstamos en los que la cantidad esté comprendida entre 1.300 € y 1.500 €.
delete from préstamo where importe between 1300 and 1500
• Borrar las cuentas de todas las sucursales de Navacerrada.
delete from cuenta where nombre-sucursal in (select nombre-sucursal from sucursal where ciudad-sucursal = ‘Navacerrada’)
Nótese que, cada vez, sólo podemos borrar tuplas de una sola relación, pudiendo utilizar cualquier número de relaciones en una expresión select-fromwhere anidada en la cláusula where de un delete. Otro ejemplo: borrar todas las cuentas cuyos saldos sean inferiores a la media del banco se puede escribir:
<code>delete from cuenta where saldo < (select avg (saldo) from cuenta)</code>