Оператор delete удаляет из таблицы строки. Этот оператор имеет две различные формы:
delete from table_name [where predicate];
delete table_name
from table_name [, ...] [where condition];
Все строки, которые удовлетворяют условию в предложении where, будут удалены. Нет необходимости (и не требуется) явно указывать столбцы в операторе delete, потому что оператор delete оперирует строками, а не столбцами.
Рассмотрим пример 7.16.
Предложение where в операторе delete может содержать внутренний запрос (пример 7.17).
Пример 7.17 также может быть переформулирован с использованием предложения from, как показано в примере 7.18. Это предложение имеет ту же семантику, что и предложение from в операторе update.
Использование предложения where в операторе delete является необязательным. Если предложение where отсутствует, то удаляются все строки таблицы (пример 7.19).