В данной статье мы разберем как правильно составлять условие для оператора WHERE. В SQL выражения, которые возвращают истину или ложь называют также предикаты. Условия делятся на простые и сложные. Простые состоят из одного выражения, например, Age > 18, а сложные являются комбинацией простых. Сложные предикаты составляют с помощью AND, OR и NOT, аналогичных таким же операциям из алгебры логики. Для конкретизации порядка выполнения операций можно использовать скобки. Условия возвращают три типа значений:
Операции сравнения:
Понятно, что типы данных сравниваются как и в других языках программирования. Таким образом числа сравниваются как в алгебре. Строки сравниваются по-буквенно, буква считается меньше другой буквы, если она идет раньше в алфавите. Время (DateTime) сравнивается в хронологическом порядке. Для примера выберем тех студентов, возраст которых больше 18 лет с именами Vladimir или Alex.
Предикат BETWEEN проверяет находится ли значение внутри какого — то диапазона:
Выберем всех студетов возраст которых находится в диапазоне с 18 до 21 включительно.
Для того, чтобы проверить находится ли запись в каком — то подмножестве используют IN:
Для того, чтобы выбрать студентов в возрасте 18 и 21, можно было использовать следующий запрос:
Выберем тех студентов, которые являются одногодками со студентами, которых зовут Alex.
Для того, чтобы сравнить строку с некоторым шаблоном используют LIKE:
Для составления шаблонов используются два специальных символа:
Для того, чтобы выбрать студентов, имена которых начинаются на ‘A’ можно применить следующий запрос:
Если строка содержит специальные символы, то необходимо явно указать в каком месте считать его как просто символ, а в каком как специальный. Для этого служит ESCAPE. Символ который будет стоять после ESCAPE будет считаться управляющим символом и специальный символ стоящий после него будет трактоваться как обычный. Допустим в нашей базе данных в поле Name записано Имя_Отчество, тогда для того чтобы выбрать всех студентов у которых имя и отчество начинается на ‘A’ будем использовать следующий код:
В данном примере «#» будет считаться управляющим символом и «_», которое стоит сразу после него будет считаться за обычный символ. Для проверки наличие или отсутствия значения в поле используют оператор IS:
| |||||||||||||||||||||
| |||||||||||||||||||||
Просмотров: 333 | |
Всего комментариев: 0 | |