DELETE SQL Server

В этом учебном пособии вы узнаете, как использовать оператор DELETE в SQL Server (Transact-SQL) с синтаксисом и примерами.

Описание

Оператор DELETE SQL Server (Transact-SQL) используется для удаления одной записи или нескольких записей из таблицы в SQL Server.

Синтаксис

В простейшей форме синтаксис оператора DELETE в SQL Server (Transact-SQL):

DELETE FROM table
[WHERE conditions];

Полный синтаксис оператора DELETE в SQL Server (Transact-SQL):

DELETE [ TOP (top_value) [ PERCENT ] ]
FROM table
[WHERE conditions];

Параметры или аргументы

table - таблица, из которой вы хотите удалить записи.
WHERE conditions - необязательный. Условия, которые должны быть выполнены для записей, подлежащих удалению.
TOP (top_value) - необязательный. Если указано, оно удалит верхнее число строк в результирующем наборе на основе top_value. Например, TOP (10) удалит первые 10 строк, соответствующих критериям удаления.
PERCENT - необязательный. Если PERCENT задан, то верхние строки основаны на проценте top_value от общего набора результатов (как определено значением PERCENT). Например, TOP (10) PERCENT удалит первые 10% записей, соответствующих критериям удаления.

Примечание

Вам не нужно указывать поля в операторе DELETE SQL Server, так как вы удаляете всю строку из таблицы.

Пример использования одного условия

Рассмотрим простой пример запроса SQL Server DELETE, где у нас есть только одно условие в операторе DELETE.
Например:

Этот пример SQL Server DELETE удалит все записи из таблицы employees, где first_name является 'Serg'.

Вы можете проверить количество строк, которые будут удалены. Вы можете определить количество строк, которые будут удалены, запустив следующее предложение SELECT перед выполнением удаления.

Пример использования двух условий

Рассмотрим пример SQL Server DELETE, где у нас есть только два условия в операторе DELETE.
Например:

Этот пример SQL Server DELETE удалит все записи из таблицы employees, где last_name - 'Ершов', а employee_id больше или равно 32.

Вы можете определить количество строк, которые будут удалены, запустив следующее предложение SELECT перед выполнением удаления.

Пример использования ключевого слова TOP

Рассмотрим пример SQL Server DELETE, в котором мы используем ключевое слово TOP в операторе DELETE.
Например:

Этот пример SQL Server DELETE удалит первые 3 записи из таблицы employees, где last_name - 'Козлов'. Если в таблице employee есть другие записи, которые имеют значение last_name 'Козлов', они не будут затронуты оператором DELETE.

Пример использование условия EXISTS

Вы также можете выполнять более сложные удаления.

Вы можете удалить записи в одной таблице на основе значений в другой таблице. Поскольку вы не можете перечислить более одной таблицы в предложении FROM при выполнении удаления, вы можете использовать условие EXISTS.
Например:

Этот пример SQL Server DELETE удалит все записи в таблице employees, где есть запись в таблице contacts, у которой contact_id меньше 100, а contact_id соответствует employee_id.

Если вы хотите определить количество строк, которые будут удалены, перед выполнением удаления вы можете запустить следующее SQL предложение SELECT.