Удаление данных по более сложному условию
Назад<<< | Содержание | Вперёд>>> |
Мы рассмотрели примеры, в которых признаки, по которым производится удаление данных, присутствуют в той же таблице, из которой данные предстоит удалять. Но на практике чаще эти признаки отнесены в другую таблицу, которая связана с "оперируемой" ключем. Тогда приходится в запросе на удаление данных использовать соединение таблиц. Именно такие запросы мы сейчас и рассмотрим.
Работаем с базой данных "Недвижимость". Скрипт для создания этой базы данных, её таблиц и заполения таблиц данными - в файле по этой ссылке.
Если вы хотите выполнить запросы к базе данных из этого урока на MS SQL Server, но эта СУБД не установлена на вашем компьютере, то ее можно установить, пользуясь инструкцией по этой ссылке.
Сначала добавим в базу данные, которые мы в примерах будем удалять.
Пример 6. Требуется удалить из таблицы Object запись об объекте, собственником является лицо по фамилии Королева. Данные о собственниках объектов недвижимости хранятся в таблице Owner. Эти таблицы связаны ключом Owner_ID.
Пишем следующий запрос, в котором используется подзапрос (на MS SQL Server - с предваряющей конструкцией USE realestate;):
Пример 7. Условие то же, что и в предыдущем примере. Эту задачу можно выполнить другим способом - использованием соединения таблиц при помощи JOIN. Пишем следующий запрос (на MS SQL Server - с предваряющей конструкцией USE realestate;):
Написать запрос самостоятельно, а затем посмотреть решение
Пример 8. Требуется удалить данные об объекте, клиентом по сделке с которым является лицо по фамилии Серов. Таблица Object не связана напрямую с таблицей Client. Связь осуществляется посредством таблицы Deal (сделка).
Поделиться с друзьями
Назад<<< | Содержание | Вперёд>>> |