Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




ВЛОЖЕННЫЕ ЗАПРОСЫ

Читайте также:
  1. Вложенные элементы
  2. Запросы, воздействующие на данные
  3. Перекрестные запросы
  4. Перекрестные запросы.

 

Пусть требуется выбрать все поставки, в которых поставляется кольцо.

SELECT SP. Код пост., SP. Код дет., SP. Кол-во

FROM SP, P

WHERE SP. Код дет. = P. код дет.

AND P. наим. = ‘кольцо’

______________________

SELECT *

FROM SP

WHERE код дет. =

(SELECT код дет.

FROM P

WHERE наим. = ‘кольцо’)

 

 

Сначала вычисляется внутренний SELECT, а затем обрабатывается внешний запрос.

В результате первого шага у нас получится одно значение: Р3.

Сравним по эффективности эти два запроса.

Вложенный запрос является более эффективным, чем первый, в конструкции соединения.

Можно использовать операцию In (если вместо кольцо – винт).

SELECT *

FROM SP

WHERE код дет. IN

(SELECT код дет.

FROM P

WHERE наим. = ‘винт’)

Но так как мы используем множественную операцию IN, то внешний запрос обрабатывается неправильно.

 

 

Пример:

Нужно найти имена всех поставщиков, имеющих суммарный объем поставок более 400.

SELECT имя

FROM S внешний запрос

WHERE код пост. IN

(SELECT код пост.

FROM SP outer

WHERE 400 < внутренний запрос

(SELECT SUM (кол.)

FROM SP inner

WHERE outer. Код пост.= inner. Код пост.))

______________________________________

Иванов

Петров

Сидоров

Смирнов

 


<== предыдущая страница | следующая страница ==>
ИСПОЛЬЗОВАНИЕ АГРЕГИРОВАННЫХ ФУНКЦИЙ | ИСПОЛЬЗОВАНИЕ ЗАПРОСОВ SELECT ПАРАМЕТРА EXISTS

Дата добавления: 2014-08-04; просмотров: 351; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.002 сек.