Когда в условии оператор OR
и нам нужно, чтобы выполнялось одно из условий в рамках одной колонки (в нашем случае это club
), то уместнее использовать оператор IN
(список условий через запятую):
select
long_name,
age,
team_position,
club
from
fifa_players_2018
where
club in ('Manchester United', 'Liverpool')
limit 5
Если мы хотим использовать аналог IN
для чисел или дат, можно использовать оператор BETWEEN
.
Рассмотрим пример
Давайте теперь выведем 10 игроков (имя игрока - long_name
, возраст - age
, позиция - team_position
, команда - club
), которые играют в футбольном клубе “Manchester United” и которым от 19 до 25 лет:
select
long_name,
age,
team_position,
club
from
fifa_players_2018
where
club = 'Manchester United'
and age between 19 and 25
limit 10
Еще вместо BETWEEN
мы можем прописать простое неравенство, и такое написание в определенных случаях может быть более предпочтительнее для большей гибкости, например, при неявном включении дополнительных условий.
age >= 19 and age <= 25
Резюмируем:
AND
– и (пересечение условий);OR
– или (выполнение одного из условий).А для удобного сокращения OR
принято использовать:
IN
- позволяет легко проверить, соответствует ли выражение какому-либо значению в списке значений;BETWEEN
- позволяет легко проверить, находится ли выражение в диапазоне значений (включительно).