Продвижение сайта по поисковым запросам, контекстная реклама, качественный копирайтинг и рерайтинг, создание сайта под ключ, QA процедуры и аудит в ИТ, бизнес анализ в Киеве, Украина.

Поиск

Админ

Комбинация из EXISTS и объединения


Комбинация из EXISTS и объединения

Однако для нас может быть полезнее вывести больше информации об этих продавцах, а не только их номера. Мы можем сделать это, объединив таблицу Заказчиков с таблицей Продавцов (вывод для запроса показывается в Рисунке 12.3):

SELECT DISTINCT first.snum, sname, first.city
FROM Salespeople first, Customers second
WHERE EXISTS (SELECT *
FROM Customers third
WHERE second.snum = third.snum AND
second.cnum <> third.cnum) AND
first.snum = second.snum;

=============  SQL Execution Log ==============
| SELECT DISTINCT first.snum, sname, first.city |
| FROM  Salespeople first, Customers second     |
| WHERE EXISTS                                  |
| (SELECT *                                     |
| FROM Customers third                          |
| WHERE second.snum = third.snum                |
| AND second.cnum <> third.cnum)                |
| AND first.snum = second.snum;                 |
|===============================================|
|   cnum     cname     city                     |
|  -----    --------   ----                     |
|   1001    Peel       London                   |
|   1002    Serres     San Jose                 |
===============================================

Рисунок 12.3. Комбинация EXISTS с объединением.

Внутренний запрос здесь, как и в предыдущем варианте, фактически сообщает, что псевдоним был изменен. Внешний запрос — это объединение таблицы Продавцов с таблицей Заказчиков, наподобие того, что мы видели прежде. Новое предложение основного предиката (AND first.snum = second.snum) естественно оценивается на том же самом уровне, что и предложение EXISTS. Это — функциональный предикат самого объединения, сравнивающий две таблицы из внешнего запроса в терминах поля snum, которое являются для них общим. Из-за Булева оператора AND, оба условия основного предиката должны быть верны в Заказе для верного предиката. Следовательно, результаты подзапроса имеют смысл только в тех случаях, когда вторая часть запроса верна, а объединение выполнимо. Таким образом, комбинация объединения и подзапроса может стать очень мощным способом обработки данных.

Популярность: 5%




Оставить комментарий или два


Навигация

Блог / Главная / Разработка / Комбинация из EXISTS и объединения

Инфо

Запись опубликовал admin 27 апреля 2010 года и разместил в рубрике Разработка.   Запись имеет метки:   К статье пока нет комментариев. Вы можете быть первым.  

Случайные записи

Что является модифицируемым представлением sql Модифицирование представлений sql Как SQL общается сразу со многими пользователями sql RUP методология – внедрение.

Похожие записи

  • No Related Post