LIKE
LIKE ищет строки, похожие на шаблон. Он нужен, когда вы не знаете точное значение. Например: «все исполнители, чьё имя начинается на Snoop».
В этом уроке работаем с таблицей tutorial.billboard_top_100_year_end — итоговые годовые чарты Billboard.
Оператор LIKE
Заголовок раздела «Оператор LIKE»SELECT *FROM tutorial.billboard_top_100_year_endWHERE group_name LIKE 'Snoop%';Запрос вернёт строки, где group_name начинается с «Snoop», а дальше идут любые символы.
Символы шаблона
Заголовок раздела «Символы шаблона»| Символ | Что значит | Пример | Найдёт |
|---|---|---|---|
% | Любое число любых символов, даже ноль | 'Snoop%' | Snoop Dogg, Snoop Dogg featuring Pharrell |
_ | Ровно один любой символ | 'Dr_ke' | Drake |
Где стоит % — важно:
'Snoop%'— начинается с «Snoop»;'%Snoop'— заканчивается на «Snoop»;'%Snoop%'— содержит «Snoop» где угодно.
Регистр букв: ILIKE
Заголовок раздела «Регистр букв: ILIKE»LIKE различает заглавные и строчные буквы. Шаблон 'snoop%' не найдёт «Snoop Dogg».
ILIKE регистр не различает:
SELECT *FROM tutorial.billboard_top_100_year_endWHERE group_name ILIKE 'snoop%';Символ _ заменяет ровно один символ:
SELECT *FROM tutorial.billboard_top_100_year_endWHERE artist ILIKE 'dr_ke';Практика
Заголовок раздела «Практика»Решайте сами, без AI. Сначала напишите запрос, потом сверьтесь с проверкой, и только потом открывайте решение.
Задание 1
Заголовок раздела «Задание 1»Напишите запрос, который вернёт все строки, где Ludacris входит в состав исполнителей (group_name).
Проверка: 64 строки.
Решение
SELECT *FROM tutorial.billboard_top_100_year_endWHERE group_name ILIKE '%ludacris%';Задание 2
Заголовок раздела «Задание 2»Напишите запрос, который вернёт все строки, где первый исполнитель в group_name начинается на «DJ».
Проверка: 15 строк, 5 разных значений group_name.
Решение
SELECT *FROM tutorial.billboard_top_100_year_endWHERE group_name LIKE 'DJ%';