Оператор SQL ALL
ВСЕ оператор
ALL используется для выбора всех записей SELECT STATEMENT . Он сравнивает значение с каждым значением в списке или результатами запроса. ВСЕ должно предшествовать операторам сравнения и оценивается как ИСТИНА, если запрос не возвращает строк. Например, ВСЕ означает больше, чем каждое значение, означает больше, чем максимальное значение. Предположим, что ALL (1, 2, 3) означает больше, чем 3.
Синтаксис:
SELECT [имя_столбца ... | выражение1] ОТ [имя_таблицы] ГДЕ выражение2 сравнение_оператор {ВСЕ | ЛЮБОЙ | НЕКОТОРЫЕ} (подзапрос)
Параметры:
название | Описание |
---|---|
column_name | Имя столбца таблицы. |
выражение1 | Выражение состоит из одной константы, переменной, скалярной функции или имени столбца и может также быть фрагментами запроса SQL, которые сравнивают значения с другими значениями или выполняют арифметические вычисления. |
table_name | Наименование таблицы. |
ГДЕ выражение2 | Сравнивает скалярное выражение, например столбец, с каждым значением в подзапросе для оператора ALL. Все строки должны соответствовать выражению, чтобы вернуть логическое значение ИСТИНА для оператора ALL. |
comparison_operator | Сравнивает выражение с подзапросом. Сравнение должно быть стандартным оператором сравнения (=, <>,! =,>,> =, <Или <=. |
Наглядное представление: оператор SQL ALL
Поддержка СУБД: ВСЕ оператор
СУБД | команда |
MySQL | поддержанный |
PostgreSQL | поддержанный |
SQL Server | поддержанный |
оракул | поддержанный |
Пример: оператор SQL ALL
Чтобы получить столбцы «des_date», «des_amount» и «ord_amount» из таблицы «despatch» при следующих условиях:
1. «des_amount» таблицы «despatch» больше, чем «ord_amount» из таблицы «orders», которая удовлетворяет условию ниже:
а) ord_amount должно быть равно 2000,
можно использовать следующий оператор SQL:
SELECT des_date,des_amount,ord_amount
FROM despatch
WHERE des_amount>ALL(
SELECT ord_amount FROM orders
WHERE ord_amount=2000);
Пример таблицы: заказы
Пример таблицы: отправка
Объяснение:
Внутренний запрос возвращает 'ord_amount' из таблицы 'orders' для 'ord_amount' равно 2000
Внешний запрос select 'des_date', 'des_amount' и 'ord_amount' образуют таблицу «despatch», чье «des_amount» больше, чем все «ord_amount» из таблицы «orders», чье значение ord_amount равно 2000.
Выход:
DES_DATE DES_AMOUNT ORD_AMOUNT --------- ---------- ---------- 12 ЯНВ-08 3800 4000 19-ОКТ-08 4000 4000 24-ИЮЛ-08 4500 3500
Смотрите нашу базу данных моделей
Упражнения по 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 программирования