Подзапрос - это команда SELECT, вложенная в предложение другой команды SQL (например, SELECT, CREATE, INSERT и т.д.).
Структура подзапроса представлена на рисунке:
Рис.1. Структура подзапроса
Подзапросы полезны при написании команд SELECT для выборки значений по некоторому условию, значения операндов которого заранее неизвестны. Подзапросы можно использовать в разных предложениях команд SQL:
- WHERE.
- HAVING.
- FROM команды SELECT или DELETE.
Синтаксис запроса с подзапросом:
SELECT список_выбора
FROM имя_таблицы
WHERE выражение оператор
(SELECT список_выбора
FROM имя_таблицы
….);
гдеоператор – это оператор сравнения (например, >,<,= и т.д.) или оператор IN.
Правила оформления подзапроса следующие:
- подзапрос должен быть заключен в круглые скобки;
- подзапрос должен находиться справа от оператора сравнения в логическом выражении;
- в подзапросе нельзя использовать предложение ORDER BY.