Знаки операций сравнения, в большинстве своем, записываются в традиционной форме:
· > (больше);
· < (меньше);
· = (равно);
· >= (больше или равно);
· <= (меньше или равно);
· <> (неравно);
· != (неравно; такая запись поддерживается Transact-SQL, но может не поддерживаться другими диалектами SQL).
Пример:
select * from trains
where train_type = ‘фирменный’
В этом запросе указано условие train_type = ‘фирменный’, т. е. будет производиться выборка данных только о фирменных поездах.
2. A [not] between B and C
Данная конструкция используется для проверки попадания (или непопадания) значения A в диапазон [B; C].
Пример:
select coach_number, coach_type
from coaches
where id_train = 2
and coach_number between 5 and 10
В этом запросе использовано сложное условие, состоящее из двух частей. Первая часть предписывает выбирать вагоны поезда с идентификатором 2, вторая часть – учитывать вагоны с номерами от 5 до 10. В итоге будет выдана информация о номерах вагонов (но только с пятого по десятый) поезда с идентификатором 2 и типах этих вагонов.
3. A [not] in (список_значений)
Данная конструкция используется для проверки вхождения (или не вхождения) заданного значения в указанный список.
Пример:
select coach_number, coach_type
from coaches
where id_train = 2
and coach_number in (2, 4, 6, 8, 10)
Данный запрос по смыслу аналогичен предыдущему, но выбираются вагоны не с 5 по 10, а с четными номерами от 2 до 10.
4. A is [not] null
Данная конструкция используется для проверки определенности/неопределенности значения.
Пример:
select *
from trains
where train_name is not null
По этому запросу будут выбраны все строки таблицы trains, в которых значение поля train_name определено. Для того чтобы выбрать строки с неопределенными значениями этого поля, слово not в запросе нужно опустить:
select *
from trains
where train_name isnull
Заметим, что операции сравнения (= и <>) с null не подходят для проверки определенности/неопределенности значений.
5. S1 [not] like S2 [escape C],
где S1 – строка символов (строковая константа, переменная или столбец таблицы);
S2 – строка-образец;
C – escape-символ.
Данная конструкция позволяет выполнять нечеткое сравнение строки (строковой константы, переменной, поля) S1 со строкой-образцом S2. Образец S2, в отличие от S1, может включать обычные символы и специальные символы для задания шаблона сопоставления (табл. 1). Специальные символы указывают на то, что в данной позиции строки может находиться символ из некоторого множества; любой одиночный символ; любое число любых символов.
Таблица 1 – Специальные символы для нечеткого сравнения строк в SQL Server
Спецсимвол |
Описание |
Пример |
% |
Произвольная последовательность символов |
Образцу ‘Безопасность%систем%’ соответствуют названия дисциплин, начинающиеся со слова «Безопасность» и содержащие фрагмент «систем» в середине или в конце, например:
|
Продолжение таблицы 1
_ (подчеркивание) |
Один произвольный символ |
Образцу ‘д_нные’ соответствуют строки:
Так как во второй позиции может стоять всего один символ, не соответствуют образцу строки:
Впрочем, они, как и первые две, соответствуют другому образцу: ‘д%нные’. |
[c1 – c2] или [последовательность символов] |
Любой символ из указанных в квадратных скобках |
Образец ‘[в – п]_езд’ Строки:
Образец ‘К[ЫЪЬОЙВЮ]Н’ Строки:
|
[^c1 – c2] или [^символы] |
Любой символ, не входящий в диапазон (множество) |
Образец‘[^в – п]_езд’ В данном случае с образцом не совпадает ни одно слово из предыдущего примера, а совпадает, например, слово ‘съезд’. |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.