Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию