Головна

Корельовані підзапити

  1. Підзапити в реченнях FROM
  2. Підзапити для обчислення скалярних значень

У простих випадках підзапит виконується один раз, повертає константу, і результат використовується у "зовнішніх" запитах. У більш складних випадках підзапит має виконуватись багатократно, по одному разу для кожного значення, отриманого підзапитом ззовні. Такі підзапити називають корельовані (correlated subquery).

Приклад 5.9. Нехай треба знайти кінофільми, назви яких повторюються два рази і більше, а роки випуску різні (оскільки атрибути title, year становлять ключ). БД представлена схемою

Повний текст запиту:

Рис.5.18. Запит з корельованим підзапитом

Умова в рядку 3 виконується, допоки зміст компонента year змінної кортежу old не дорівнює максимальному з років фільмів з одною назвою. Тому при виконанні "основного" запиту буде повернуто копій певної назви, на одиницю менше загальної кількості фільмів з такою назвою: назва, використана двічі, буде повернута один раз; тричі - два рази і т.д.

У підзапиті є атрибути двох видів:



© um.co.ua - учбові матеріали та реферати