кодесурса
«SQL

Обновление SQL с использованием подзапросов

script1adsense2code
script1adsense3code

На этой странице мы обсуждаем использование подзапроса для обновления значений столбцов с помощью оператора UPDATE .

Пример:

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


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


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

1. измененное значение для «комиссия» является «комиссия» +. 02,

2. число 2 больше или равно номеру 'cust_code' из таблицы 'customer', который удовлетворяет условию ниже:

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

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

Код SQL:

UPDATE agent1
SET commission=commission+.02
WHERE 2>=(
SELECT COUNT(cust_code) FROM customer
WHERE customer.agent_code=agent1.agent_code);

Выход:

«Sql

Обновление SQL с использованием подзапросов с 'IN'

Далее мы собираемся обсудить использование IN внутри подзапроса с оператором UPDATE, чтобы обновить указанные столбцы.

Пример:

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


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


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

1. измененное значение для «комиссии» - «комиссия» -. 02,

2. «agent_code» не находится в выбранном «agent_code» таблицы «orders» с псевдонимом «a», которая удовлетворяет условию ниже:

3. «ord_amount» таблицы «orders» с псевдонимом «a» совпадает с «ord_amount» таблицы «orders» с псевдонимом «b», которая удовлетворяет условию ниже:

4. 'ord_date' псевдонимов 'a' и 'b' должны быть одинаковыми,

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

Код SQL:

UPDATE agent1
SET commission=commission-.02
WHERE agent_code NOT IN(
SELECT agent_code FROM orders a
WHERE ord_amount=(
SELECT ord_amount FROM orders b
WHERE a.ord_date=b.ord_date));

Обновление SQL с использованием подзапросов с 'IN' и min ()

Далее мы обсудим использование оператора IN и функции MIN () вместе с оператором UPDATE для внесения изменений в указанные столбцы.

Пример:

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


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


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

1. измененное значение для «комиссии» - «комиссия» -. 02,

2. «agent_code» не находится в выбранном «agent_code» таблицы «orders» с псевдонимом «a», которая удовлетворяет условию ниже:

3. 'ord_amount' таблицы 'orders', названной псевдонимом 'a' , равен минимальному значению 'ord_amount' таблицы 'orders', названному псевдонимом 'b', которое удовлетворяет условию ниже:

4. 'ord_date' псевдонимов 'a' и 'b' должны быть одинаковыми,

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

Код SQL:

UPDATE agent1
SET commission=commission-.02
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

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

Предыдущий: Обновить столбцы с помощью функции суммы и сгруппировать по
Далее: SQL Удалить

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code