Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Select С1. Продукт
FROM Состав С1 WHERE С1.Продукт NOT IN (SELECT С2.Продукт FROM Состав С2 WHERE С2.Блюдо <> С1.Блюдо); Данный запрос возвращает пустую таблицу, так нет таких продуктов в БД. Действие этого запроса можно пояснить следующим образом: "Поочередно для каждой строки таблицы Состав, скажем С1, выделить значение номера продукта (С1.Продукт) и номер блюда (С1.Блюдо), в котором этот продукт используется. А затем проверить, не встречается ли этот продукт в списке продуктов (С2) необходимых для приготовления других блюд (<> С1.Блюдо). Если не встречается, то выводим его". Отметим, что в этой формулировке должен быть использован по крайней мере один псевдоним - либо С1, либо С2. Данный запрос может быть реализован и по-другому. SELECT Продукт FROM Состав GROUP BY Продукт HAVING COUNT (DISTINCT Блюдо) = 1; Для проверки правильности выводов данных запросов можно выполнить команду:
SELECT Продукт, COUNT (DISTINCT Блюдо) FROM Состав GROUP BY Продукт; И получить результат:
Использование оператора EXISTS. Квантор EXISTS (существует) - понятие, заимствованное из формальной логики. В языке SQL предикат с квантором существования представляется выражением … EXISTS (SELECT * FROM...). Такое выражение считается истинным только тогда, когда результат вычисления "SELECT * FROM..." является непустым множеством (вернул хотя бы одну строку). Рассмотрим примеры. Пример 33. Выдать названия Блюд, представленных в меню на данное число. SELECT Блюдо
Date: 2015-09-18; view: 383; Нарушение авторских прав |