2.5. Подчиненные (сложные) запросы
Как уже отмечалось, источником данных для запросов могут быть результаты выполнения других запросов. Возможны два варианта построения таких запросов. Первый вариант реализуется через указание в SQL-инструкциях в качестве имен таблиц и имен полей имен запросов и полей запросов. Синтаксис таких запросов ничем не отличается от обычных запросов, а его исполнение осуществляется в две фазы. По запуску основного запроса сначала неявно запускается запрос, формирующий источник данных, и по завершению его исполнения запускается основной (внешний) запрос. Второй вариант реализуется через включение в тело внешней (главной) SQL-инструкции внутренней инструкции SELECT. При этом результат исполнения внутренней инструкции SELECT используется для формирования условия отбора записей в главном (внешнем) запросе или в качестве выражения для нового вычисляемого поля. Такие запросы называются подчиненными.
Использование внутренней инструкции SELECT для формирования условий отбора записей во внешнем запросе возможно, например, через предикаты сравнения «для некоторых/для всех» — ANY, SOME, ALL.
Конструкция запроса может выглядеть следующим образом:
SELECT ...FROM... WHERE Выражение () [ANY|SOME|ALL] (SELECT...),
где () — оператор сравнения.
Как правило, выражение включает поле из списка полей внешней SQL-инструкции или функцию от этих полей. Внутренняя инструкция SELECT должна возвращать набор данных по одному полю или по вычисляемому полю, при принципиальной сравнимости с выражением во внешней SQL-инструкции (по типу данных).
Предикаты ANY и SOME («для некоторых»), являющиеся синонимами, используются для отбора в главной SQL-инструкции тех записей, которые удовлетворяют сравнению с какой-либо записью (т.е. хотя бы с одной), из отобранных во внутренней инструкции SELECT.
Предикат ALL (для всех) используется для отбора в главном запросе только тех записей, которые удовлетворяют сравнению одновременно со всеми записями, отобранными в подчиненном запросе (рисунке 2.9.).
Лабораторная работа № 4. Создайте таблицы с выбранными вами полями и сформируйте запросы, аналогичные изученным в данном разделе.
- Ростовский государственный экономический университет «ринх»
- Ростов-на-Дону
- Оглавление
- Введение
- Тема 1. Антивирусные программы
- 1.1. Компьютерные вирусы и антивирусные программы
- 1.2. Программный пакет Антивирус Касперского и работа с ним
- 1.3. Практические упражнения по антивирусной защите
- Тема 2. Создание sql-запросов в реляционных субд
- 2.2. Запросы на выборку данных из одной таблицы
- Сотрудники
- Запрос на выборку всех записей с произвольным набором полей
- Список сотрудников
- Сотрудники
- Синие воротнички
- Сотрудники
- Подразделения
- 2.3. Запросы на выборку данных из нескольких таблиц
- Сотрудники, не имеющие ученых степеней
- План-график мероприятий
- 2.4. Вычисления и групповые операции в запросах
- Сотрудники
- Премирование
- 2.5. Подчиненные (сложные) запросы
- Электромобили
- Маршруты
- Тема 3. Решение экономических задач в ms Excel
- 3.1. Моделирование как метод познания
- Постановка задачи
- 3.2. Пример моделирования в среде Microsoft Excel
- Формализация, алгоритмизация и программирование
- Объединение ячеек
- Селективные переключатели
- Цифровые индикаторы
- Цифровой индикатор суммарной мощности
- Излучатель сигнала тревоги
- Прогнозирование
- 3.3. Приближенное решение уравнений в Microsoft Excel
- Задача о приближенном решении уравнений
- Отделение корней
- Решение задач
- Оформление и программирование
- Тестирование и отладка
- Прогнозирование
- 3.4. Задачи линейного программирования
- 3.4.1. Пример решение задачи линейного программирования
- 3.4.2. Лабораторная работа.
- Тема 4. Электронная почта Outlook Express
- Библиографический список
- Информатика
- Формализация, алгоритмизация и программирование
- Объединение ячеек
- Селективные переключатели
- Цифровые индикаторы
- Цифровой индикатор суммарной мощности
- Излучатель сигнала тревоги
- Прогнозирование
- Контрольные вопросы по дисциплине "практикум на пк"