Возможны следующие варианты структуры условия:
1. Обычное сравнение
Структура:
1 | <Выражение> <Оператор> <Выражение>
|
В данном случае используют операторы: «>» - больше, «<» - меньше, «=» - равно, «>=» - больше или равно, «<=» - меньше или равно.
Также используют знак «!» перед оператором сравнения, который добавляет приставку «не» к логическому выражению: «!>», «!<», «!=» или «<>», «!>=», «!<=» (не равно, не больше и т.д.).
Пример:
1 2 | SELECT id, name FROM users WHERE id > 5000;
|
2. Сравнение с NULL
Позволяет проверить, равно ли значение NULL или нет.
Структура:
1 2 | <Выражение> IS NULL
<Выражение> IS NOT NULL
|
В первом случае оператор WHERE возвратит истину, если выражение имеет значение NULL, во втором случае, если выражение не NULL.
Пример:
1 2 | SELECT id, name FROM users WHERE mail IS NULL ;
|
3. Оператор LIKE
LIKE позволяет сравнивать строку с так называемой маской или шаблоном.
Структура:
Маска представляет собой строку, в которой некоторые символы не указаны конкретно. Символы можно указывать следующим образом:
% - любое количество любых символов
_ - один любой символ
[ ] - Любой одиночный символ, содержащийся в диапазоне (
[a-f]) или наборе (
[abcdef])
[^] или
[!]- Любой одиночный символ, не содержащийся в диапазоне (
[^a-f]) или наборе (
[^abcdef])
Если выражение подходит под маску, то оператор WHERE возвращает истину.
Так же используют оператор
NOT LIKE, означающий, что выражение не должно подходить под маску.
Пример:
1 2 | SELECT id, name , mail FROM users WHERE mail LIKE '%google.com' ;
|
4. Оператор IN
Позволяет проверить соответствие выражения с одним из нескольких
значений.
Структура:
1 | <Выражение> IN <Список значений>
|
Если выражение соответствует хотя бы одну из перечисленных значений, то оператор WHERE вернёт истину.
Пример:
1 2 | SELECT id, name , mail FROM users WHERE name IN ( 'admin' , 'administrator' );
|
5. Оператор BETWEEN
Позволяет проверить соответствие выражения со значением в некотором диапазоне.
Структура:
1 | <Выражение> BETWEEN <Значение1> AND <Значение2>
|
Если сравнивают числа, то выражение должно быть больше первого значения и меньше второго значения. Если сравнивают строки, то выражение должно находится между двумя значениями при сортировке в алфавитном порядке.
Пример:
1 2 | SELECT id, name , date FROM users WHERE date BETWEEN '2017-01-01' AND '2017-11-31'
|
6. Оператор EXIST
Проверяет, возвращает ли подзапрос, по крайней мере, одну строку.
Структура:
Внутри оператора находится подзапрос. Если подзапрос вернёт хотя бы одну строку, то оператор WHERE примет истинное значение, иначе ложное.
Пример:
1 2 | SELECT * FROM users WHERE EXISTS ( SELECT id FROM photos WHERE photos.user_id = users.id );
|
Спасибо за внимание.
Если статья Вам показалась незаконченной или Вы знаете как её улучшить, пожалуйста сообщите мне e@gohtml.ru