Шаблоны % и _
Зачем это нужно
Иногда нужно найти строки по части текста: все товары со словом «Pro»,
всё что начинается на «Apple», описания содержащие слово «кожа». Оператор =
требует точного совпадения. LIKE позволяет искать по шаблону.
Аналогия с жизнью
Поиск в браузере: вводите «Air» — и видите всё где это слово встречается.
В Word: Ctrl+F и ищете часть слова. LIKE — это Ctrl+F для базы данных.
Два специальных символа
| Символ | Значение | Пример шаблона | Что найдёт |
|---|---|---|---|
% | Любое количество любых символов | '%Pro%' | «iPhone 15 Pro», «AirPods Pro» |
_ | Ровно один любой символ | '_984' | «1984» (1 символ + «984») |
Синтаксис
WHERE колонка LIKE 'шаблон'
Разбор примеров на датасете products
-- Содержит «Air» в любом месте названия
SELECT name FROM products WHERE name LIKE '%Air%';
-- Найдёт: AirPods Pro, Кроссовки Nike Air Max
-- Начинается на «Apple»
SELECT name FROM products WHERE name LIKE 'Apple%';
-- Найдёт: Apple Watch SE
-- Заканчивается на «г» (например, «1 кг»)
SELECT name FROM products WHERE name LIKE '%г';
-- Найдёт: Кофе арабика молотый 1 кг, Протеин сывороточный 1 кг
-- Шаблон с _ — ровно один символ перед «984»
SELECT name FROM products WHERE name LIKE '_984';
-- Найдёт: 1984 (1 символ «1» + «984»)
Как работает %
% заменяет ноль и более символов:
'Pro%'— начинается с «Pro»: «ProSport», «Pro», «Pro123»'%Pro'— заканчивается на «Pro»: «AirPods Pro», «iPhone Pro»'%Pro%'— содержит «Pro» в любом месте'%'— любая строка (то же что без фильтра)
Частые ошибки
Забыли % с нужной стороны — LIKE 'Air' найдёт только строки равные ровно «Air»,
не «AirPods Pro». Для «содержит» нужны % с обеих сторон: LIKE '%Air%'.
_ вместо % для произвольной длины — LIKE '_Pro' найдёт только строки
где перед «Pro» ровно один символ. Если длина неизвестна — используйте %.
Используют = вместо LIKE — WHERE name = '%Air%' ищет строки буквально
равные тексту «%Air%» — таких нет. Для шаблонов нужен именно LIKE.
Запомни
% — любое количество символов (включая ноль). _ — ровно один символ.
LIKE '%слово%' — «содержит слово».
Мини-практика
Напиши LIKE-шаблон для каждого условия:
- Товары, название которых начинается на «Кофе»
- Товары, название которых заканчивается на «Pro»
- Товары, название которых содержит слово «книга»
- Товары, где второй символ названия — «a»
Ответы
'Кофе%''%Pro''%книга%''_a%'
Прочитайте урок до конца — прогресс засчитается автоматически