SQL ЛЮБОЙ оператор
ЛЮБОЙ оператор
ЛЮБОЙ сравнивает значение с каждым значением в списке или результатами запроса и оценивает как true, если результат внутреннего запроса содержит хотя бы одну строку. ЛЮБОМУ должны предшествовать операторы сравнения . Предположим, что использование больше (>) с ЛЮБОЙ означает больше, чем хотя бы одно значение.
Синтаксис:
SELECT [имя_столбца ... | выражение1] ОТ [имя_таблицы] ГДЕ выражение2 сравнение_оператор {ВСЕ | ЛЮБОЙ | НЕКОТОРЫЕ} (подзапрос)
Параметры:
название | Описание |
---|---|
column_name | Имя столбца таблицы. |
выражение1 | Выражение состоит из одной константы, переменной, скалярной функции или имени столбца и может также быть фрагментами запроса SQL, которые сравнивают значения с другими значениями или выполняют арифметические вычисления. |
table_name | Наименование таблицы. |
ГДЕ выражение2 | Сравнивает скалярное выражение, пока не будет найдено совпадение для ЛЮБОГО оператора. Одна или несколько строк должны соответствовать выражению, чтобы вернуть логическое значение ИСТИНА для оператора ЛЮБОЙ. |
comparison_operator | Сравнивает выражение с подзапросом. Сравнение должно быть стандартным оператором сравнения (=, <>,! =,>,> =, <Или <=). |
Наглядное представление: SQL ЛЮБОЙ оператор
Поддержка СУБД: SQL ЛЮБОЙ оператор
СУБД | команда |
MySQL | поддержанный |
PostgreSQL | поддержанный |
SQL Server | поддержанный |
оракул | поддержанный |
Пример: SQL ЛЮБОЙ оператор
Чтобы получить 'agent_code', 'agent_name', 'working_area', 'Commission' из таблицы 'agent' при следующих условиях -
1. 'agent_code' должен быть любым 'agent_code' из таблицы 'customer', который удовлетворяет условию ниже:
a) 'cust_country' в таблице 'customer' должно быть 'UK',
можно использовать следующий оператор SQL:
SELECT agent_code,agent_name,working_area,commission
FROM agents
WHERE agent_code=ANY(
SELECT agent_code FROM customer
WHERE cust_country='UK');
Образец таблицы: клиент
Пример таблицы: агенты
Выход:
AGENT_CODE AGENT_NAME WORKING_AREA COMMISSION ---------- -------------------- -------------------- ---------- A009 Бенджамин Хэмпшир .11 A003 Алекс Лондон .13 A006 McDen London .15
SQL ЛЮБОЙ оператор во вложенном подзапросе
В этом примере мы обсудили, как оператор SQL ANY может работать с вложенным оператором select .
Образец таблицы: клиент
Пример таблицы: агенты
Пример таблицы: заказы
Чтобы получить 'agent_code', 'agent_name', 'working_area', 'Commission' из таблицы 'agent' при следующих условиях -
1. 'agent_code' должен быть любым 'agent_code' из таблицы 'customer', который удовлетворяет условию ниже:
a) 'agent_code' должен быть любым 'agent_code' из таблицы 'orders', который удовлетворяет условию ниже:
i) «advance_amount» таблицы «orders» должно быть больше 600,
можно использовать следующий оператор SQL:
SELECT agent_code,agent_name,working_area,commission
FROM agents
WHERE agent_code=ANY(
SELECT agent_code FROM customer
WHERE agent_code =ANY
(SELECT agent_code FROM orders
WHERE advance_amount>600));
Выход:
AGENT_CODE AGENT_NAME WORKING_AREA COMMISSION ---------- -------------------- -------------------- ---------- A008 Alford New York .12 A010 Santakumar Chennai .14 A005 Андерсон Брисбан .13 A002 Мукеш Мумбаи .11
SQL ЛЮБОЙ оператор с GROUP BY
В этом примере мы обсудили использование оператора SQL ANY с SQL GROUP BY в операторе выбора .
Образец таблицы: клиент
Пример таблицы: агенты
Пример таблицы: заказы
Чтобы получить 'agent_code' и 'advance_amount' из таблицы 'orders' со следующими условиями -
1. 'advance_amount' таблицы 'orders' должно быть больше 600,
2. 'agent_code' должен быть любым 'agent_code' из таблицы 'customer', который удовлетворяет условию ниже:
a) «agent_code» должен быть любым «agent_code» из таблицы «agent», который удовлетворяет условию ниже:
i) «комиссия» таблицы «агентов» должна быть больше или равна .12,
3. 'agent_code' в таблице 'orders' должен быть в группе,
можно использовать следующий оператор SQL:
SELECT DISTINCT(agent_code),advance_amount
FROM orders
WHERE advance_amount>600
AND agent_code=ANY(
SELECT agent_code
FROM customer
WHERE agent_code=ANY(
SELECT agent_code FROM agents
WHERE commission>=.12
GROUP BY agent_code));
Выход:
AGENT_CODE ADVANCE_AMOUNT ---------- -------------- A005 1800 A008 2000 A010 800 A005 700 A008 1000 A010 900 A010 700
SQL ЛЮБОЙ с группировкой и упорядочением по
В этом примере мы обсудили использование оператора SQL ANY с предложениями GROUP BY и ORDER BY в операторе выбора .
Образец таблицы: клиент
Пример таблицы: агенты
Пример таблицы: заказы
Чтобы получить 'agent_code' и 'advance_amount' из таблицы 'orders' со следующими условиями -
1. 'advance_amount' таблицы 'orders' должно быть больше 600,
2. 'agent_code' должен быть любым 'agent_code' из таблицы 'customer', который удовлетворяет условию ниже:
a) «agent_code» должен быть любым «agent_code» из таблицы «agent», который удовлетворяет условию ниже:
i) «комиссия» таблицы «агентов» должна быть больше или равна .12,
3. 'agent_code' в таблице 'orders' должен быть в группе,
4. Таблица 'advance_amount' таблицы 'orders' должна располагаться в порядке возрастания,
можно использовать следующий оператор SQL :
SELECT DISTINCT(agent_code),advance_amount
FROM orders
WHERE advance_amount>600
AND agent_code=ANY(
SELECT agent_code
FROM customer
WHERE agent_code=ANY(
SELECT agent_code FROM agents
WHERE commission>=.12
GROUP BY agent_code
)
)
ORDER BY advance_amount;
Выход:
AGENT_CODE ADVANCE_AMOUNT ---------- -------------- A005 700 A010 700 A010 800 A010 900 A008 1000 A005 1800 A008 2000
Смотрите нашу базу данных моделей
Упражнения по SQL
- Упражнения по SQL, практика, решение
- SQL Получить данные из таблиц [33 Упражнения]
- Булевы и реляционные операторы SQL [12 упражнений]
- Подстановочные знаки SQL и специальные операторы [22 упражнения]
- Агрегатные функции SQL [25 упражнений]
- Вывод запроса форматирования SQL [10 упражнений]
- SQL-запросы к нескольким таблицам [7 упражнений]
- ФИЛЬТРАЦИЯ И СОРТИРОВКА в базе данных персонала [38 упражнений]
- SQL СОЕДИНЯЕТ
- SQL ПОДПИСИ
- SQL Union [9 упражнений]
- SQL View [16 упражнений]
- Управление учетными записями пользователей SQL [16 упражнение]
- База данных фильмов
- ОСНОВНЫЕ запросы к базе данных фильмов [10 упражнений]
- ПОДПИСКИ на фильм База данных [16 упражнений]
- ПРИСОЕДИНЯЕТСЯ к базе данных фильма [24 упражнения]
- Футбольная база
- Вступление
- ОСНОВНЫЕ запросы по футболу базы данных [29 упражнений]
- ПОДПИСКИ по футбольной базе данных [33 упражнения]
- База данных больницы
- База данных сотрудников
- ОСНОВНЫЕ запросы к базе данных сотрудников [115 упражнений]
- БРОНИРОВАНИЕ на сотрудника База данных [77 Упражнения]
- Еще не все!
Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.
Новый контент: Composer: менеджер зависимостей для PHP , R программирования