Это старая версия документа!
Оператор DELETE удаляет строки из временных или постоянных базовых таблиц, представлений или курсоров, причем в двух последних случаях действие оператора распространяется на те базовые таблицы, из которых извлекались данные в эти представления или курсоры. Оператор удаления имеет простой синтаксис:
1. DELETE FROM <имя таблицы> 2. [WHERE <предикат>];
Если предложение WHERE отсутствует, удаляются все строки из таблицы или представления (представление должно быть обновляемым). Более быстро эту операцию (удаление всех строк из таблицы) можно в Transact-SQL также выполнить с помощью команды
1. TRUNCATE TABLE <имя таблицы>
Однако есть ряд особенностей в реализации команды TRUNCATE TABLE, которые следует иметь в виду:
Пример
Требуется удалить из таблицы Laptop все портативные компьютеры с размером экрана менее 12 дюймов.
1. DELETE FROM Laptop 2. WHERE screen < 12;
Все блокноты можно удалить с помощью оператора
1. DELETE FROM Laptop;
или
1. TRUNCATE TABLE Laptop;
Transact-SQL расширяет синтаксис оператора DELETE, вводя дополнительное предложение FROM:
FROM <источник табличного типа>
При помощи источника табличного типа можно конкретизировать данные, удаляемые из таблицы в первом предложении FROM.
При помощи этого предложения можно выполнять соединения таблиц, что логически заменяет использование подзапросов в предложении WHERE для идентификации удаляемых строк. Поясним сказанное на примере.
Пусть требуется удалить те модели ПК из таблицы Product, для которых нет соответствующих строк в таблице PC.