3.3.7. Функции в подзапросе

Теперь, после знакомства с различными формулировками вложенных подзапросов и псевдонимами легче понять текст и алгоритм реализации запроса (п. 3.1) на получение тех поставщиков продуктов для Сырников, которые поставляют эти продукты за минимальную цену:

SELECT	Продукт, Цена, Название, Статус

FROM	Продукты, Состав, Блюда, Поставки, Поставщики

WHERE	Продукты.ПР = Состав.ПР

AND	Состав.БЛ = Блюда.БЛ

AND	Поставки.ПР = Состав.ПР

AND	Поставки.ПС = Поставщики.ПС

AND	Блюдо = 'Сырники'

AND	Цена =	(	SELECT MIN(Цена)

			FROM	Поставки X

			WHERE	X.ПР = Поставки.ПР );

Естественно, что это коррелированный подзапрос: здесь сначала определяется минимальная цена продукта, входящего в состав Сырников, и только затем выясняется его поставщик.

На этом примере мы закончим знакомство с вложенными подзапросами, предложив попробовать свои силы в составлении ряда запросов, с помощью механизма таких подзапросов:

  1. Выдать названия всех мясных блюд.
  2. Выдать количество всех блюд, в состав которых входят помидоры.
  3. Выдать блюда, продукты для которых поставляются агрофирмой ЛЕТО.

3.3.6 | Содержание | 3.4

Используются технологии uCoz