Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Использование IN (список значений)




Использование функции BETWEEN.

В условие поиска можно указать, что некоторое значение (столбец или вычисленное значение выражения) должно находиться в интервале между значением1 и значением2:

 

<значение> [NOT] BETWEEN <значение1> AND <значение2>

 

Зарезервированное слово NOT инвертирует условие (значение не должно находиться в интервале между значением1 и значением2).

 

ПРИМЕР

 

Перечислите инвентарные номера книг, цена которых лежит в диапазоне от 20 до 60 гривень.

 

SELECT InventaryNumber, Cost

FROM BookInventaryNumbers

WHERE Cost BETWEEN 20 AND 60;

 

В данном примере результаты проверки будут положительными для всех книг, цена которых лежит в пределах от 20 до 60 гривень.

Результаты выполнения запроса представлены в таблица 11.11.

Таблица 11.11.

Code FamilyNamе Name Patronymic Job Post
  Иванов Петр Иванович ДГУ, каф. ЭВТ Ассистент
  Ильин Иван Петрович ДГУ, каф. физики Доцент
  Коршунова Наталья Юрьевна ДГУ, каф.геоинфо рматики Ассистент

 

Приведенный выше запрос можно переписать следующим образом:

 

SELECT InventaryNumber, Cost

FROM BookInventaryNumbers

WHERE Cost >= 20 AND Cost <=60;

 

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

Если нужно, чтобы значение какого-либо столбца (или результат вычисления некоторого выражения) совпадало с одним из дискретных значений, в условии поиска указывается предложение

 

<значение> [NOT] IN (<значение1> [, <значение2>...])

 

Тогда в результирующий набор данных будут включены только те записи, для которых значение, стоящее слева от слова IN, равно одному из значений, указанных в списке (<значение1> [, <значение2>...]).

 

ПРИМЕР

 

Используя таблицу PasportData, выведете код, серию и номер паспорта для лиц, проживающих в Донецке или Киеве.

 

SELECT Code, Series, Number, IssuePlace

FROM PasportData

WHERE IssuePlace IN (‘Донецк’, ‘Киев’);

 

Проверка вхождения результата вычисления выражения в заданное множество организуется с помощью ключевого слова IN. При этом проверяется, соответствует ли результат вычисления выражения одному из значений в предоставленном списке – в нашем случае это строки ‘Донецк’ и ‘Киев’.

Результаты выполнения запроса представлены в таблице 11.12.

Таблица 11.12.

Code Series Number IssuePlace
  АЕ   Донецк
  АЖ   Киев

 

Как и в случае ключевого слова BETWEEN, условие IN незначительно повышает выразительную мощность языка SQL – тот же самый запрос может быть переписан следующим образом:

 

SELECT Code, Series, Number, IssuePlace

FROM PasportData

WHERE IssuePlace= ‘Донецк’ OR IssuePlace= ‘Киев’;

 

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




Поделиться с друзьями:


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


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



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




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