SQL запросы к базе данных. Часть #3.
Используя ключевой слово WHERE и другие операторы, мы можем задавать условия для фильтрации строк. В фильтрах можно использовать следующие операторы:
- (=) - равно
- (!=) - неравно
- (>) - больше
- (>=) - больше или равно
- (<) - меньше
- (<=) - меньше или равно
- BETWEEN - значение находится в указанном диапазоне
- IN - значение входит в список
- LIKE - проверка строки на соответствие шаблону
- AND - логическое И
- OR- логическое ИЛИ
- NOT - логическое НЕ
Оператор BETWEEN
Оператор BETWEEN отбирает значения (числа, текст, даты) в указанном диапазоне. Выберем из таблицы все продукты с ценой от 10 до 12:
SELECT * FROM Products
WHERE Price BETWEEN 10 AND 12;
Оператор IN
Оператор IN позволяет перечислить несколько несколько значений. Выберем всех клиентов, проживающих в Бразилии и Франции.
SELECT * FROM Customers
WHERE Country IN ('Brazil', 'France');
Оператор LIKE
Оператор LIKE ищет совпадения с указанным шаблоном, используя два подстановочных знака:
- (%) обозначает 0, один или несколько символов
- (_) обозначает одиночный символ
Выберем из таблицы всех клиентов, у которых имя начинается с буквы «b».
SELECT * FROM Customers
WHERE CustomerName LIKE 'b%';
Операторы AND и OR
Операторы AND и OR будут верными в случае выполнения обоих условий. Оператор AND отобразит записи, если все условия соответствуют истине. Оператор OR отобразит записи, соответствующие какому-либо условию.
AND
Оператор AND выберет клиентов из таблицы, проживающих только в Англии, в городе Лондон.
SELECT * FROM Customers
WHERE Country='UK' AND City='London';
OR
ОператорOR выберет клиентов из города Paris или Madrid.
SELECT * FROM Customers
WHERE City='Paris' OR City='Madrid';
Оператор NOT
Данный оператор покажет поля, не соответствующие заданным условиям. Оператор NOT выберет клиентов, НЕ проживающих в США.
SELECT * FROM Customers
WHERE NOT Country='USA';
Итоги
В фильтрации строк используют операторы сравнения и логические операторы.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.