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

LIKE

LIKE ищет строки, похожие на шаблон. Он нужен, когда вы не знаете точное значение. Например: «все исполнители, чьё имя начинается на Snoop».

В этом уроке работаем с таблицей tutorial.billboard_top_100_year_end — итоговые годовые чарты Billboard.

SELECT *
FROM tutorial.billboard_top_100_year_end
WHERE group_name LIKE 'Snoop%';

Запрос вернёт строки, где group_name начинается с «Snoop», а дальше идут любые символы.

СимволЧто значитПримерНайдёт
%Любое число любых символов, даже ноль'Snoop%'Snoop Dogg, Snoop Dogg featuring Pharrell
_Ровно один любой символ'Dr_ke'Drake

Где стоит % — важно:

  • 'Snoop%' — начинается с «Snoop»;
  • '%Snoop' — заканчивается на «Snoop»;
  • '%Snoop%' — содержит «Snoop» где угодно.

LIKE различает заглавные и строчные буквы. Шаблон 'snoop%' не найдёт «Snoop Dogg».

ILIKE регистр не различает:

SELECT *
FROM tutorial.billboard_top_100_year_end
WHERE group_name ILIKE 'snoop%';

Символ _ заменяет ровно один символ:

SELECT *
FROM tutorial.billboard_top_100_year_end
WHERE artist ILIKE 'dr_ke';

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

Напишите запрос, который вернёт все строки, где Ludacris входит в состав исполнителей (group_name).

Проверка: 64 строки.

Решение
SELECT *
FROM tutorial.billboard_top_100_year_end
WHERE group_name ILIKE '%ludacris%';

Напишите запрос, который вернёт все строки, где первый исполнитель в group_name начинается на «DJ».

Проверка: 15 строк, 5 разных значений group_name.

Решение
SELECT *
FROM tutorial.billboard_top_100_year_end
WHERE group_name LIKE 'DJ%';