Оператор AND
Оператор AND используется для фильтрации записей на основе более чем одного условия.
Предложение WHERE может содержать одно или несколько операторов AND.
Например, если вы хотите вернуть всех клиентов из Испании, которые начинаются сбуквы "G":
Выберите всех клиентов из Испании, имена которых начинаются с буквы "G":
SELECT *
FROM Customers
WHERE Country = 'Spain' AND CustomerName LIKE 'G%';
Попробуйте сами »
Синтаксис AND
SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;Оператор AND или OR
Оператор AND оператор отображает запись, если все условия TRUE.
Оператор OR оператор отображает запись, если какое-либо из условий TRUE.
Демо база данных
Ниже приведена подборка из таблицы Customers, используемая в примерах:
| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
|---|---|---|---|---|---|---|
| 1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
| 4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
| 5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Все условия должны быть выполнены
Следующая инструкция SQL выбирает все поля из Customers где
Country является "Germany" AND
City является "Berlin" AND PostalCode превышает 12000:
SELECT * FROM Customers
WHERE Country = 'Germany'
AND City = 'Berlin'
AND PostalCode > '12000';
Попробуйте сами »
Комбинирование AND и OR
Вы можете комбинировать следующие операторы AND и OR.
Следующая инструкция SQL выбирает всех клиентов из Испании, имена которых начинаются с "G" или "R".
Убедитесь, что вы используете круглые скобки, чтобы получить правильный результат.
Выберите всех испанских клиентов, имена которых начинаются с "G", или "R":
SELECT * FROM Customers
WHERE Country = 'Spain'
AND (CustomerName LIKE 'G%' OR CustomerName LIKE 'R%');
Попробуйте сами »
Без скобок оператор select вернет всех клиентов из Испании, имена которых начинаются с "G", плюс все клиенты, имя которых начинается на "R", независимо от значения страны:
Выберите всех клиентов, которые родом из Испании и начинаются с "G", или начинается с буквы "R":
SELECT * FROM Customers
WHERE Country = 'Spain'
AND CustomerName LIKE 'G%' OR CustomerName LIKE 'R%';
Попробуйте сами »