Перейти к содержимому
TelegramGitHub

Логические операторы

Чаще всего одного условия мало. Логические операторы помогают собрать из нескольких условий один фильтр. Этот урок — обзор. Каждый оператор разберём отдельно в следующих уроках.

ОператорЧто делаетУрок
LIKEищет значения по шаблонуLIKE
INоставляет значения из спискаIN
BETWEENоставляет значения из диапазонаBETWEEN
IS NULLнаходит пустые значенияIS NULL
ANDоба условия верныAND
ORверно хотя бы одно условиеOR
NOTусловие неверноNOT

Для этих уроков нужна таблица tutorial.billboard_top_100_year_end. В ней итоговые годовые чарты Billboard: 100 лучших песен каждого года, с 1956 по 2013.

Столбцы:

СтолбецЧто в нём
yearгод чарта
year_rankместо песни в конце года
group_nameполное имя исполнителя, как в чарте. Для совместных песен — несколько имён
artistодин исполнитель. У песни с гостями несколько строк
song_nameназвание песни

Посмотрим на таблицу. Пока не думайте об ORDER BY, он будет в одном из следующих уроков:

SELECT *
FROM tutorial.billboard_top_100_year_end
ORDER BY year DESC, year_rank;

Обратите внимание на 2013 год. У песни Macklemore несколько строк, по одной на каждого исполнителя. Поэтому строк в таблице больше, чем 100 на год.

Решайте сами, без AI. Сначала напишите запрос, потом сверьтесь с проверкой, и только потом открывайте решение.

Напишите запрос, который покажет все строки таблицы tutorial.billboard_top_100_year_end за 2013 год.

Проверка: 144 строки в 2013 году. Первое место — Thrift Shop.

Решение
SELECT *
FROM tutorial.billboard_top_100_year_end
WHERE year = 2013;

Напишите запрос, который покажет только столбцы year, year_rank и song_name для песен, занявших первое место в 2005 году.

Проверка: 1 уникальная песня, год 2005, year_rank = 1.

Решение
SELECT DISTINCT year,
year_rank,
song_name
FROM tutorial.billboard_top_100_year_end
WHERE year = 2005
AND year_rank = 1;