Платформы корпоративных информационных систем

         

Вложенные запросы



Вложенные запросы

Обычная команда SQL SELECT осуществляет полный доступ ко всем данным, хранимым в таблице, - если вы знаете, что ищете. Когда вы не стремитесь извлечь содержимое таблицы целиком, SELECT в своем основном виде требует ввести хотя бы часть данных, которые вы хотите извлечь. Например, SELECT name FROM friends WHERE name LIKE 'B%' требует знания хотя бы одной буквы имени, которое вы ищете. Что делать в случае, если вы хотите узнать, чей заработок был выше среднего? Запрос должен выглядеть примерно так:

SELECT name FROM people WHERE salary > ???

Больше чего? Вы понятия не имеете, каков средний заработок, пока не сделаете выборку по заработкам! Необходимо взять значение SELECT AVG(salary) FROM people и вставить его в предыдущий запрос. Вложенный запрос позволяет это сделать:

SELECT name

FROM people

WHERE salary > (SELECT AVG(salary) FROM people)



Содержание раздела