ВУЗ:
Составители:
Рубрика:
80
Пример 62. Найти номер группы, в которой куратор – препо-
даватель Мещеряков Б. К.:
SELECT Name_group AS Название группы
FROM Groups
WHERE Kurator=(SELECT ID_Teacher
FROM Teachers
WHERE Familia=’Мещеряков’);
Результат выполнения запроса приведен на рис. 29.
Рис. 29. SELECT со связанным подзапросом
Порядок выполнения оператора SELECT со связанным подза-
просом:
1. Выбирается строка из таблицы, имя которой указано во
внешнем запросе.
2. Выполняется подзапрос и полученное значение применяет-
ся для анализа этой строки в условии предложения WHERE внеш-
него запроса.
3. По результату оценки этого условия принимается решение о
включении или невключении строки в состав выходных данных.
4. Процедура повторяется для следующей строки таблицы
внешнего запроса.
Следует обратить внимание, что приведенный выше запрос
корректен только в том случае, если в результате выполнения ука-
занного в скобках подзапроса возвращается единственное значение.
Если в результате выполнения подзапроса будет возвращено не-
сколько значений, то этот подзапрос будет ошибочным. В данном
примере это произойдет, если в таблице Groups будет несколько за-
писей со значениями поля Familia = ’Мещеряков’.
10.2.2. Подзапросы,
возвращающие множество значений
Во многих случаях значение, подлежащее сравнению в пред-
ложениях WHERE или HAVING, представляет собой не одно, а не-
сколько значений. Вложенные подзапросы генерируют непоимено-
Пример 62. Найти номер группы, в которой куратор – препо-
даватель Мещеряков Б. К.:
SELECT Name_group AS Название группы
FROM Groups
WHERE Kurator=(SELECT ID_Teacher
FROM Teachers
WHERE Familia=’Мещеряков’);
Результат выполнения запроса приведен на рис. 29.
Рис. 29. SELECT со связанным подзапросом
Порядок выполнения оператора SELECT со связанным подза-
просом:
1. Выбирается строка из таблицы, имя которой указано во
внешнем запросе.
2. Выполняется подзапрос и полученное значение применяет-
ся для анализа этой строки в условии предложения WHERE внеш-
него запроса.
3. По результату оценки этого условия принимается решение о
включении или невключении строки в состав выходных данных.
4. Процедура повторяется для следующей строки таблицы
внешнего запроса.
Следует обратить внимание, что приведенный выше запрос
корректен только в том случае, если в результате выполнения ука-
занного в скобках подзапроса возвращается единственное значение.
Если в результате выполнения подзапроса будет возвращено не-
сколько значений, то этот подзапрос будет ошибочным. В данном
примере это произойдет, если в таблице Groups будет несколько за-
писей со значениями поля Familia = ’Мещеряков’.
10.2.2. Подзапросы,
возвращающие множество значений
Во многих случаях значение, подлежащее сравнению в пред-
ложениях WHERE или HAVING, представляет собой не одно, а не-
сколько значений. Вложенные подзапросы генерируют непоимено-
80
Страницы
- « первая
- ‹ предыдущая
- …
- 79
- 80
- 81
- 82
- 83
- …
- следующая ›
- последняя »
