Студопедия

КАТЕГОРИИ:


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

Секция LIKE

Секция IN

Секция WHERE

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

Секция where представляет собой комбинацию одного или больше предикатов.

Предикат - это логическое выражение, которое возвращает одно из значений - true, false или UNKNOWN.

Предикаты в секции where соединены между собой логическими операторами and, or и not.

 

Пример предиката для получения списка автомобилей, у которых 8 и более колес:

 

SELECT ИмяВяадельца FROM [ВладельцыАвтсмобилёй]

WHERE КоличествоКолес >= 8

 

В секции where можно сравнивать между собой столбцы, переменные, константы, функции и любые другие предикаты.

Сравниваемые объекты не обязаны присутствовать в списке выборки.

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

Количество предика­тов в секции where не ограничено.

Пример выражения для выбора 8-колесных автомобилей с двумя двигателями:

 

SELECT ИмяВладельца FROM ВладельцыАвтомобилей

WHERE КоличествоКолес >= 8 AND КоличествоДвигателей = 2

 

Для сравнения двух выражений используются операторы сравнения. Стан­дартные операторы сравнения перечислены в табл. 1.

 

Таблица 3.1. Операторы сравнения

Оператор Значение
= Равно
о Не равно
1 = Не равно
> Больше
< Меньше
>= Больше или равно
<= Меньше или равно
!= Не равно
!> Не больше
!< Не меньше

Еще примеры команд:

 

SELECT Название, Цена FROM Книги WHERE Цена =19.99

 

SELECT Название, Цена FROM Книги WHERE SORT (Цена)!< 19.99

 

SELECT Название, Цена FROM Книги

WHERE NOT ((Цена > 21.00) AND (Цена < 30.00))

 

Во втором примере для price вызывается функция sort и воз­вращаются только те записи, для которых полученный результат не меньше 19.99.

 

В секции where могут использоваться различные другие секции.


Секция in проверяет, принадлежит ли столбец набору (списку) значений.

Команду in всегда можно переписать в виде группы условий, объединяемых оператором or.

 

Примеры использования секции in:

 

SELECT Название, Цена FROM Книги

WHERE Цена IN (19.99, 21.00, 25.00, 29.99)

 

 

SELECT Название, Цена FROM Книги

WHERE Цена NOT IN (19.99, 21.00, 25.00, 29.99)

 

 


Секция like выполняет поиск по шаблону для символьных строк.

Она ис­пользуется в ситуациях, когда вас не интересует точное совпадение, напри­мер, вы не знаете точного написания слова.

 

Шаблон может содержать обычные и универсальные символы.

В табл. 2 перечислены универсальные символы шаблонов.

 

Таблица 2. Универсальные символы в шаблонах

Универсальный символ Описание
% Ноль и более символов
_ (подчеркивание) Ровно один символ в строковом выражении
[ символы] Один символ, определяемый выражением в скобках. В скобках указывается интервал (например, [l-z ]) или список конкретных символов (например, [АЬК12М])
[ ^ СИМВОЛЫ ] Похож на предыдущий, однако ищет строки, не содер­жащие символы из заданного списка или интервала

 

Универсальные символы можно комбинировать в шаблоне.

 

Для поиска сим­волов, используемых в качестве универсальных, применяется служебный символ, определяемый ключевым словом escape.

 

Стандартного служебного символа не существует.

 

Следующие примеры демонстрируют применение секции like.

 

1. Найти все значения столбца Названи_товара, содержащие два и более символа

Название_товара LIKE '_%_'

Этот пример ищет строку, которая содержит, по крайней мере, два символа.

 

2. Найти все значения Фамилия с открывающей квадратной скобкой

Фамилия LIKE ‘ % \ [ %' ESCAPE ' \ ’

В этом примере символ \ назначается служебным и используется для определения символа “[“. В результате секция like находит все значения Название_товара, содержащие символ” [“.

 

3. Найти различные варианты написания фамилии Петров

Фамилия LIKE '[Пп]е[тр]ов'

 

Этот пример ищет варианты написания слова "Петров", начинающиеся со строчной или прописной буквы «п» и содержащие согласные «т» или «р».


<== предыдущая лекция | следующая лекция ==>
DECLARE @R INT | Секция ORDER BY
Поделиться с друзьями:


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


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



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




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