Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ключевые слова ALL, any и distinct

До этого момента мы рассматривали, как извлечь все или заданные колонки из одной или нескольких таблиц. Для управления выводом дублирующихся строк результирующего набора данных можно использовать ключевые слова ALL или DISTINCT в предложении SELECT. Ключевое слово DISTINCT указывает, что строки результирующего набора данных должны быть уникальны, тогда как ключевое слово ALL указывает, что возвращать следует все строки. Например, для извлечения названий стран, в которых имеются заказчики, можно использовать следующий запрос:

SELECT DISTINCT Country FROM Customers

Отметим, что ключевое слово ALL используется по определению. Если в запросе требуется вывести более одной колонки и при этом использовано слово DISTINCT, то результирующий набор данных будет содержать различные строки, но некоторые значения одного и того же поля в разных строках могут совпадать.

ALL — сравнение будет производиться со всеми записями, которые возвращает подзапрос (или просто со всеми значениями в набор). True вернется только в том случае, если все записи, которые возвращает подзапрос, будут удовлетворять указанному вами условию. Кроме того, в Oracle значение True вернется в ситуации, когда подзапрос не вернет ни одной записи.

В качестве примера приведем такой запрос:

select * from hr.employees where salary <= ALL(SELECT salary FROM hr.employees WHERE job_id = 'SH_CLERK')

Он вернет записи для всех сотрудников, для которых зарплата меньше или равна самой маленькой зарплате у сотрудников с должностью SH_CLERK.

ANY — сравнение вернет True, если условию будет удовлетворять любая запись из набора (или подзапроса). Например, такой запрос вернет всех пользователей, зарплата которых совпадает с зарплатой клерка:

select * from hr.employees where salary = ANY(SELECT salary FROM hr.employees WHERE job_id = 'SH_CLERK')

<== предыдущая лекция | следующая лекция ==>
Предложение HAVING | Понятие абсолютных величин
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 458; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.