Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Дополнительные сведения. Подчиненный запрос можно использовать вместо выражения в списке полей инструкции SELECT или в предложениях WHERE и HAVING.




Подчиненный запрос можно использовать вместо выражения в списке полей инструкции SELECT или в предложениях WHERE и HAVING.

Инструкция SELECT используется в подчиненном запросе для задания набора конкретных значений, вычисляемых в выражениях предложений WHERE или HAVING.

Пример синтаксиса подзапроса

SELECT имена полей

FROM имена таблиц

WHERE поле сравнение (SELECT имена полей

FROM имена таблиц

[WHERE….]

……………………..; )


Варианты работы подзапроса

· подзапрос возвращает одно значение

· подзапрос возвращает не одно значение

Использование подзапросов возвращающих одно значение

Пример Вывести фамилии сотрудников подразделения, оклад которых ниже среднего в подразделении.

SELECT Фамилия

FROM Подразделение

WHERE Оклад < (SELECT avg (Оклад)

FROM Подразделение );

Использование подзапросов возвращающих несколько значений

В этом случае необходимо использовать предикаты ANY(SOME), ALL, IN.

1. Предикаты ANY или SOME, являющиеся синонимами, используются для отбора записей в главном запросе, которые удовлетворяют сравнению хотя бы с одним значением из всех отобранных в подчиненном запросе.

Пример Отбираются все товары, цена которых больше, чем цена хотя бы одного товара, проданного со скидкой в 25 процентов или более:

SELECT *

FROM Товары

WHERE Цена > ANY (SELECT Цена

FROM Заказано

WHERE Скидка >= 0.25);

2. Предикат ALL используется для отбора в главном запросе только тех записей, которые удовлетворяют сравнению со всеми записями, отобранными в подчиненном запросе.

Если в предыдущем примере предикат ANY заменить предикатом ALL, результат запроса будет включать только те товары, чья цена больше, чем цена всех товаров, проданных со скидкой 25% или более. Это условие является значительно более жестким.

3. Предикат IN используется для отбора в главном запросе только тех записей, которые содержат значения, совпадающие (равно) с одним из отобранных подчиненным запросом.

Пример Показать все товары, проданные со скидкой, большей или равной 25 процентам:

SELECT *

FROM Товары






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных