Столбцовые подзапросы с выражением in
Обновлено: 22.12.2024
o В инструкции SELECT ;
o В инструкции FROM ;
o В условии WHERE .
- Подзапрос может быть вложен в инструкции SELECT , INSERT , UPDATE или DELETE , а также в другой подзапрос;
- Подзапрос обычно добавляется в условие WHERE оператора SQL SELECT ;
- Можно использовать операторы сравнения, такие как >, <, или =. IN, ANY или ALL ;
- Подзапрос также называется внутренним запросом. Оператор, содержащий подзапрос, также называется внешним;
- Внутренний запрос выполняется перед родительским запросом, чтобы результаты его работы могли быть переданы внешнему.
Подзапрос можно использовать в инструкциях SELECT , INSERT , DELETE или UPDATE для выполнения следующих задач:
- Сравнения выражения с результатом запроса;
- Определения того, включено ли выражение в результаты запроса;
- Проверки того, выбирает ли запрос любые строки.
- Подзапрос SQL ( внутренний запрос ) выполняется перед выполнением основного запроса ( внешнего запроса );
- Основной запрос использует результат выполнения подзапроса.
Подзапросы SQL-примеры
студенты
отметки
Поэтому нужно составить два SQL подзапроса в Select . Один запрос возвращает отметки ( хранятся в поле « Total_marks » ) для « V002 », а второй запрос выбирает учеников, которые получают лучшие оценки, чем результат первого запроса.
Результатом запроса будет 80 .
Используя результат этого запроса, мы написали еще один запрос, чтобы определить учеников, которые получают оценки лучше, чем 80 .
Два приведенных запроса определяют студентов, которые получают лучше оценки, чем студент StudentID « V002 » ( Abhay ).
Графическое представление подзапроса SQL :
Подзапросы в SQL (вложенные запросы SQL): общие правила
Ниже приведен синтаксис подзапроса :
Подзапросы SQL (вложенные запросы SQL): рекомендации по использованию
Ниже приведен ряд рекомендаций, которым нужно следовать при использовании SQL подзапросов:
- Подзапрос должен быть заключен в круглые скобки;
- Подзапрос должен указываться в правой части оператора сравнения;
- Подзапросы не могут обрабатывать свои результаты, поэтому в подзапрос не может быть добавлено условие ORDER BY ;
- Используйте однострочные операторы с однострочными подзапросами;
- Если подзапрос возвращает во внешний запрос значение null , внешний запрос не будет возвращать никакие строки при использовании операторов сравнения в условии WHERE .
- Однострочный подзапрос : возвращает ноль или одну строку;
- Многострочный подзапрос : возвращает одну или несколько строк;
- Многостолбцовый подзапрос : возвращает один или несколько столбцов;
- Коррелированные подзапросы : указывают один или несколько столбцов во внешней инструкции SQL . Такой подзапрос называется коррелированным, поскольку он связан с внешней инструкцией SQL ;
- Вложенные подзапросы : подзапросы помещенные в другой подзапрос.
Также можно использовать подзапрос внутри инструкций INSERT , UPDATE и DELETE .
Подзапросы SQL с инструкцией INSERT
Инструкция INSERT может использоваться с подзапросами SQL .
Пример таблицы: orders
Подзапросы SQL с инструкцией UPDATE
В инструкции UPDATE можно установить новое значение столбца, равное результату, возвращаемому однострочным подзапросом. Ниже приводится синтаксис и пример UPDATE с подзапросом SQL .
Подзапросы SQL с инструкцией DELETE
Ниже приводится синтаксис и пример использования SQL подзапросов с инструкцией DELETE .
Если нужно удалить заказы из таблицы « neworder », для которых advance_amount меньше максимального значения advance_amount из таблицы « orders », можно использовать следующий код SQL :
Пример таблицы: neworder
Пожалуйста, оставляйте ваши мнения по текущей теме статьи. Мы очень благодарим вас за ваши комментарии, лайки, подписки, дизлайки, отклики!
Читайте также: