#### 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