В данном посте для простоты будет использоваться не локальная база данных, а взятая тут. В поле SQL Statement вы можете копировать код из данного поста и сразу смотреть результат.
В прошлом посте мы рассматривали базовые операторы SQL SELECT FROM, с помощью которого можно выбирать данные из таблицы. Но чаще всего эти операторы используются в связке с оператором WHERE
.
Оператор WHERE
Данный оператор используется для задания условий в запрос к БД, ведь чаще всего вам нужно получить не все записи, а те которые будут соответствовать заданному условию.
Пример 1. В прошлом посте мы рассмотрели вариант получения данных о пользователях (из таблицы Customers) из страны France:
SELECT
CustomerName AS firstName,
Country AS country
FROM Customers
WHERE Country = "France"
Что делает данный запрос. Выбирает поля CustomerName
и Country
и условие, что Country = "France"
. Это самый простой вариант использования, но также тут есть и дополнительные операторы. Их мы и рассмотрим в этом посте.
Операторы сравнения
Мы можем использовать такие операторы сравнения:
- != — не равно
>
— больше чем- >= — больше или равно
- < — меньше чем
- <= — меньше или равно
Пример 2. Допустим нам нужно получить всех пользователей, которые не с Франции. Тогда мы сделаем такой запрос:
SELECT
CustomerName AS firstName,
Country AS country
FROM Customers
WHERE Country != "France"
Оператор AND (И)
При использовании логического оператора AND
в SQL оба условия должны вернуть истину (true).
Пример 3. Для примера возьмем данные из таблицы OrderDetails. Получим данные о конкретном заказе и с количеством больше или равным 10:
SELECT *
FROM OrderDetails
WHERE OrderID = 10248 AND Quantity >= 10
Мы получим два заказа:
Оператор OR (ИЛИ)
Данный оператор в отличии от предыдущего должен вернуть одно истинное значение.
Пример 4. Выберем пользователей из таблицы Customers с двух стран France и Germany:
SELECT *
FROM Customers
WHERE Country = 'France' OR Country = 'Germany'
Такой же результат можно получить с помощью оператора IN.
Мы можем объединить оба оператора AND и OR в одном запросе:
SELECT *
FROM Customers
WHERE City = 'Berlin' OR City = 'Paris' AND PostalCode = 75012
Так мы получим две записи: один пользователь из Berlin, второй из Paris, но только тот где PostalCode 75012
Добавить комментарий