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

Поиск

Админ

INTERSECT и MINUS sql


INTERSECT и MINUS sql

Команда UNION, как вы уже видели в Главе 14, может объединить два запроса, объединив их вывод в один. Два других обычно имеющихся способа объединения отдельных запросов — это INTERSECT (Плюс) и MINUS (Минус). INTERSECT выводит только строки, произведенные обоими перекрестными запросами, в то время как MINUS выводит строки, которые производятся одним запросом, но не другим. Следовательно, следующие два запроса

SELECT *
FROM Salespeople
WHERE city = 'London'

INTERSECT

SELECT *
FROM Salespeople
WHERE 'London' IN (SELECT city
FROM Customers
WHERE Customers.snum = Salespeople.snum);

выведут строки, произведенные обоими запросами, производящими всех продавцов в Лондоне, которые имели, по крайней мере, одного заказчика, размещенного там также. С другой стороны, запрос

SELECT *
FROM Salespeople
WHERE city = 'London'

MINUS

SELECT *
FROM Salespeople
WHERE 'London' IN (SELECT city
FROM Customers
WHERE Customers.snum = Salespeople.snum);

удалит строки, выбранные вторым запросом из вывода первого, и таким образом, будут выведены все продавцы в Лондоне, которые не имели там заказчиков. MINUS иногда еще называют DIFFERENCE (ОТЛИЧИЕ).

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




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


Навигация

Блог / Главная / Разработка / INTERSECT и MINUS sql

Инфо

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

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

Предоставление привилегий с помощью WITH GRANT OPTION sql Устранение избыточности sql Уникальность как ограничение таблицы sql Специальный оператор ALL sql