OR
OR оставляет строки, где верно хотя бы одно из условий.
В этом уроке работаем с таблицей tutorial.billboard_top_100_year_end.
Оператор OR
Заголовок раздела «Оператор OR»SELECT *FROM tutorial.billboard_top_100_year_endWHERE year_rank = 5 OR artist = 'Gotye';Каждая строка в результате подходит под одно из двух условий. Запрос вернёт 70 строк.
OR вместе с AND
Заголовок раздела «OR вместе с AND»AND и OR можно смешивать. Для этого нужны скобки:
SELECT *FROM tutorial.billboard_top_100_year_endWHERE year = 2013 AND (group_name ILIKE '%macklemore%' OR group_name ILIKE '%timberlake%');Скобки превращают OR в одно общее условие. Условие year = 2013 верно для всех строк результата. А второе условие значит: есть Macklemore или есть Timberlake.
Практика
Заголовок раздела «Практика»Решайте сами, без AI. Сначала напишите запрос, потом сверьтесь с проверкой, и только потом открывайте решение.
Задание 1
Заголовок раздела «Задание 1»Напишите запрос, который вернёт все строки для песен из топ-10, где в составе исполнителей есть Katy Perry или Bon Jovi.
Проверка: 8 строк, 5 разных значений group_name.
Решение
SELECT *FROM tutorial.billboard_top_100_year_endWHERE year_rank <= 10 AND (group_name ILIKE '%katy perry%' OR group_name ILIKE '%bon jovi%');Задание 2
Заголовок раздела «Задание 2»Напишите запрос, который вернёт все песни со словом «California» в названии, попавшие в чарт в 1970-х или 1990-х годах.
Проверка: 7 строк. Среди них Hotel California.
Решение
SELECT *FROM tutorial.billboard_top_100_year_endWHERE song_name LIKE '%California%' AND (year BETWEEN 1970 AND 1979 OR year BETWEEN 1990 AND 1999);Задание 3
Заголовок раздела «Задание 3»Напишите запрос, который вернёт все записи из топ-100 с участием Dr. Dre до 2001 года или после 2009 года.
Проверка: 19 строк.
Решение
SELECT *FROM tutorial.billboard_top_100_year_endWHERE group_name ILIKE '%dr. dre%' AND (year <= 2000 OR year >= 2010);