Удаление Строк из Таблицы
Определенные строки удаляются из таблицы, если Вы указываете предложение
WHERE
:

Все строки в таблице удаляются, если Вы опускаете предложение
WHERE
:

Можно удалить конкретные строки, определяя предложение WHERE
в операторе DELETE
. Первый пример на рисунке удаляет Бухгалтерский отдел из таблицы DEPARTMENTS
. Можно проверить работу удаления, выводя на экран удаленные строки при использовании оператора SELECT.
SELECT * |
0 rows selected |
---|
Однако, если Вы опускаете предложение WHERE
, все строки в таблице удаляются. Второй пример на рисунке удаляет все строки из таблицы COPY_EMP
, потому что предложение WHERE
не было определено.
Пример:
Удалите строки, идентифицированные в предложении WHERE
.
DELETE FROM employees WHERE employee_id = 114; |
1 rows deleted |
---|
DELETE FROM departments WHERE department_id IN (30, 40); |
2 rows deleted |
---|
Удаление Строк, основываясь на Другой Таблице
Используйте подзапросы в операторе DELETE
, чтобы удалить строки из таблицы, основываясь на значениях из другой таблицы:

Можно использовать подзапросы, чтобы удалить строки из таблицы, основываясь на значениях из другой таблицы. Пример на рисунке удаляет всех сотрудников в отделе, где имя отдела содержит строку Public
.
Подзапрос ищет в таблице DEPARTMENTS
номер отдела, основываясь на имени отдела, содержащем строку Public
. Подзапрос затем передает номер отдела к основному запросу, который удаляет строки данных из таблицы EMPLOYEES
, основываясь на этом номере отдела.