ВУЗ:
Составители:
Рубрика:
103
4.6. Использование вложенных запросов
4.6.1. Подзапросы
Часто при формировании условия в предложении WHERE требуется ис-
пользовать значение, которое должно быть вычислено в момент выполнения
оператора
SELECT. Например, надо иметь максимальное, минимальное, среднее
и т.п. значения. В таких случаях используют законченные операторы
SELECT,
внедрённые в тело другого оператора
SELECT. Внешний и внутренний операто-
ры
SELECT строятся по одинаковым правилам. Внешний оператор использует
результат внутреннего оператора.
Внутренние операторы располагают в предложениях
WHERE или HAVING
после операций сравнения (=, <, >, <=, >=, <>). Такие операторы называют под-
запросами. Текст подзапроса помещают в круглые скобки. Ограничения при
формировании подзапросов:
–
ORDER BY не используется;
– список в
SELECT состоит из имён отдельных столбцов или составлен-
ных из них выражений;
– по умолчанию имена столбцов относятся к таблице, указанной после
FROM. Разрешено использовать имена столбцов внешнего запроса, яв-
но указывая таблицу;
– если подзапрос является одним из двух операндов в операции сравне-
ния, то записывается справа:
Number=(SELECT ... ).
Существует два типа подзапросов – скалярный и табличный. Скалярный
подзапрос возвращает одно значение. Табличный подзапрос возвращает мно-
жество значений.
4.6.2. Подзапросы, возвращающие одно значение
Пример 4.11. Найти название рыбы максимальной длины.
SELECT Common_Name FROM biolife
WHERE biolife."Length (cm)"=
(SELECT max(biolife."Length (cm)" FROM biolife)
4.6. Использование вложенных запросов
4.6.1. Подзапросы
Часто при формировании условия в предложении WHERE требуется ис-
пользовать значение, которое должно быть вычислено в момент выполнения
оператора SELECT. Например, надо иметь максимальное, минимальное, среднее
и т.п. значения. В таких случаях используют законченные операторы SELECT,
внедрённые в тело другого оператора SELECT. Внешний и внутренний операто-
ры SELECT строятся по одинаковым правилам. Внешний оператор использует
результат внутреннего оператора.
Внутренние операторы располагают в предложениях WHERE или HAVING
после операций сравнения (=, <, >, <=, >=, <>). Такие операторы называют под-
запросами. Текст подзапроса помещают в круглые скобки. Ограничения при
формировании подзапросов:
– ORDER BY не используется;
– список в SELECT состоит из имён отдельных столбцов или составлен-
ных из них выражений;
– по умолчанию имена столбцов относятся к таблице, указанной после
FROM. Разрешено использовать имена столбцов внешнего запроса, яв-
но указывая таблицу;
– если подзапрос является одним из двух операндов в операции сравне-
ния, то записывается справа: Number=(SELECT ... ).
Существует два типа подзапросов – скалярный и табличный. Скалярный
подзапрос возвращает одно значение. Табличный подзапрос возвращает мно-
жество значений.
4.6.2. Подзапросы, возвращающие одно значение
Пример 4.11. Найти название рыбы максимальной длины.
SELECT Common_Name FROM biolife
WHERE biolife."Length (cm)"=
(SELECT max(biolife."Length (cm)" FROM biolife)
103
Страницы
- « первая
- ‹ предыдущая
- …
- 101
- 102
- 103
- 104
- 105
- …
- следующая ›
- последняя »
