кодесурса
«SQL

SQL Удалить записи, используя подзапросы

script1adsense2code
script1adsense3code

SQL Удаление записей с подзапросами

На этой странице мы собираемся обсудить, как SUBQUERIES (оператор SELECT в другом операторе SELECT можно использовать в качестве подзапроса) вместе с командой SQL DELETE можно использовать для удаления.

Пример таблиц, связанных с этой страницей, показан ниже:

Пример таблицы: customer1


Пример таблицы: агенты


Образец таблицы: клиент


Пример таблицы: агент1


Пример таблицы: заказы


Пример:

Чтобы удалить строки из таблицы customer1 с соблюдением следующих условий:

1. 'agent_code' должен быть любым 'agent_code' из таблицы 'agent', который удовлетворяет условию ниже:

2. «рабочая_область» таблицы «агенты» должна быть «Лондон»,

можно использовать следующий оператор SQL:

Код SQL:

DELETE FROM customer1
WHERE agent_code=ANY(
SELECT agent_code FROM agents
WHERE working_area='London');

Выход:

«Sql

SQL удаляет записи, используя подзапросы с псевдонимом

На этой странице мы собираемся обсудить, как псевдонимы таблиц (когда две или более таблиц используются в запросе, а затем псевдоним упрощает чтение и запись с коротким именем, которое следует после имени таблицы после ключевого слова FROM) используется с SUBQUERIES (оператор SELECT в другом операторе SELECT может использоваться как подзапрос), а с помощью подзапросов команда SQL DELETE может использоваться для удаления записей.

Пример:

Чтобы удалить строки из таблицы 'agent1' со следующими условиями -

1. 'da' и 'cu' являются псевдонимами для таблицы 'agent1' и 'customer'

2. проверить наличие подзапроса верно или ложно. который удовлетворяет условию ниже:

3. «класс» таблицы «клиент» должен быть 3,

4. 'agent_code' таблицы 'agent1' и 'agent_code' таблицы 'customer' не должны совпадать,

можно использовать следующий оператор SQL:

Код SQL:

DELETE FROM agent1 da
WHERE EXISTS(
SELECT * FROM  customer cu
WHERE grade=3
AND da.agent_code<>cu.agent_code);

Выход:

«Sql

SQL удаляет записи, используя подзапросы с псевдонимом и IN

На этой странице мы собираемся обсудить, как строки могут быть удалены из таблицы с помощью оператора SQL DELETE с использованием оператора IN и SUBQUERIES.

Пример:

Чтобы удалить строки из таблицы 'agent1' со следующими условиями -

1. «da» и «cu» - это псевдонимы таблиц «agent1» и «customer»,

2. проверьте число 3 в результате подзапроса, который удовлетворяет условию ниже:

3. 'agent_code' таблицы 'agent1' и 'agent_code' таблицы 'customer' не должны совпадать,

можно использовать следующий оператор SQL:

Код SQL:

DELETE FROM agent1 da
WHERE 3 IN(
SELECT grade FROM customer cu
WHERE agent1.agent_code<>customer.agent_code);

Выход:

«Sql

SQL удаляет записи, используя подзапросы с псевдонимом и MIN

На этой странице мы собираемся обсудить, как можно удалять строки из таблицы с помощью оператора SQL DELETE вместе с функцией SQL MIN ().

Пример:

Чтобы удалить строки из таблицы 'agent1' со следующими условиями -

1. Таблица 'orders' используется как псевдоним 'a' и псевдоним 'b',

2. 'agent_code' для 'agent1' должен быть внутри 'agent_code' в псевдониме 'a', который удовлетворяет условию ниже:

i) «ord_amount» псевдонима «a» должно быть равно минимальному «ord_amount» псевдонима «b», которое удовлетворяет условию ниже:

а) "ord_date" псевдонима "a" и псевдонима "b" должны быть равны,

можно использовать следующий оператор SQL:

Код SQL:

DELETE FROM agent1
WHERE agent_code IN
(SELECT agent_code FROM orders a
WHERE ord_amount=(
SELECT MIN(ord_amount) FROM orders b
WHERE a.ord_date=b.ord_date));

Выход:

«Sql

SQL удаляет записи, используя подзапросы с псевдонимами и MIN и COUNT

На этой странице мы собираемся обсудить, как можно удалять строки из таблицы с помощью оператора SQL DELETE вместе с функциями SQL MIN () и COUNT ().

Пример:

Чтобы удалить строки из таблицы 'agent1' со следующими условиями -

1. Таблица 'orders' используется как псевдоним 'a' и псевдоним 'b'

2. 'agent_code' для 'agent1' должен быть внутри 'agent_code' в псевдониме 'a', который удовлетворяет условию ниже:

i) «ord_amount» псевдонима «a» должно быть равно минимальному «ord_amount» псевдонима «b», которое удовлетворяет условию ниже:

a) "ord_date" псевдонима "a" и псевдонима "b" должны быть равны

ii) число 1 должно быть меньше числа псевдонима формы "ord_num ", которое удовлетворяет условию ниже:

а) "ord_date" псевдонима "a" и псевдонима "b" должны быть равны,

можно использовать следующий оператор SQL:

Код SQL:

DELETE FROM agent1
WHERE agent_code IN(
SELECT agent_code FROM orders a
WHERE ord_amount=(
SELECT MIN(ord_amount) FROM orders b
WHERE a.ord_date=b.ord_date)
AND 1<(
SELECT COUNT(ord_num) FROM orders b
WHERE a.ord_date=b.ord_date));

Выход:

«Sql

Выводы указанного оператора SQL, показанного здесь, взяты с использованием Oracle Database 10g Express Edition.

Смотрите нашу базу данных моделей

Упражнения по SQL

Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.

Предыдущая: SQL Удалить
Далее: SQL СОЕДИНЕНИЕ Введение

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code