Методи і розташування

Підзапитом називають впроваджену в зовнішній запит інструкцію SELECT Підзапити дають відповідь на питання, задане зовнішнім запитом, у вигляді скалярного значення, списку значень або набору даних Підзапити можуть заміняти собою вирази, списки і таблиці в структурі зовнішнього запиту Матриця типів підзапитів та використання інструкції SELECT приведена в табл 101 Так як підзапити можуть містити тільки інструкцію SELECT і ніяку іншу (наприклад, інструкцію поновлення даних), їх іноді називають підвибірки

При створенні підзапиту можливі три основні форми, в залежності від необхідних даних і предпочитаемого вами синтаксису

■ Прості підзапити Прості підзапити можуть виступати в ролі відокремлених запитів і запускатися окремо Вони виконуються один раз, а свій результат передають зовнішнім запитом Прості підзапити створюються як звичайні інструкції SELECT і поміщаються в дужки

Таблиця 101 Використання підзапитів і загальних табличних виразів

Підзапит повертає

Вираз

Список

Набір даних

Елемент інструкції

Підзапит повертає

Підзапит повертає

Підзапит повертає

SELECT

скалярний значення

список значень

джерело даних з мно

select (подзапрос)

Результат підзапиту ис

X

жества стовпців X

FROM (ДЖЕРЕЛО ДЕН-

вих)

Це єдине ме

користується в якості вираження, яке постачає значення для стовпця

Набір даних підзапиту

Набір даних підзапиту

Набір даних подзапро

сто, де подзапрос мо

трактується як управляти

трактується як управляти

са трактується як управ

жет використовувати псев

Травень таблиця в зовнішньому

Травень таблиця в зовнішньому

ляемая таблиця у зовн

донімая таблиці або

запиті

запиті

ньому запиті

іменований діапазон WHERE X {=,>, <,> =, < =, <>} (Подзапрос)

WHERE X IN

Пропозиція where істинно, якщо тестове значення збігається з поверненим підзапитом

Умова WHERE істинно,

Умова WHERE істинно,

X

(Подзапрос)

якщо тестове значення

якщо тестове значення

WHERE EXISTS

збігається з поверненим підзапитом

Умова WHERE істинно,

знаходиться в списку, повернутому підзапитом

Умова WHERE істинно,

Умова WHERE істинно,

(Подзапрос)

якщо подзапрос повер

якщо подзапрос повер

якщо подзапрос повер

щает хоча б один рядок

щает хоча б один рядок

щает хоча б один рядок

■ Загальні табличні вирази (ETS) Є синтаксичними варіаціями простих підзапитів, аналогічні уявленням і визначають подзапрос на початку запиту за допомогою команди WITH До сте можна звертатися безліч разів в основному запиті, як до подання або керованої таблиці

Загальні табличні вирази були вперше введені у версії SQL Server 2005 Новинка ^ Їх головною Метою є створення рекурсивних запитів Докладно ми рас-

2005 дивимося їх у главі 12

■ Корельовані підзапити Аналогічні простим підзапитів, за винятком того, що вони не можуть запускатися відокремлено Зовнішній запит запускається першим, а корельований викликається по одному разу для кожного рядка зовнішнього запиту

Джерело: Нільсен, Пол Microsoft SQL Server 2005 Біблія користувача : Пер з англ – М: ООО ІД Вільямс , 2008 – 1232 с : Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*