LIKE SQL — 100 универсальных примеров для всех реализаций SQL

🟢 LIKE SQL. Введение

LIKE — это универсальный оператор поиска строковых данных по шаблону. Он применяется для фильтрации текста с помощью символов подстановки (% — любое количество символов, _ — один символ).
like sql используют, чтобы находить данные по части строки: email, телефоны, названия товаров, фамилии, адреса, коды.

Синтаксис

SELECT
    столбцы
FROM
    таблица
WHERE
    поле LIKE 'шаблон';

Типовая конструкция

SELECT
    u.user_id,
    u.email
FROM
    users AS u
WHERE
    u.email LIKE '%@gmail.com';

Поиск по email-адресам

Gmail-пользователи:

SELECT
    *
FROM
    table
WHERE
    u.email LIKE '%@gmail.com';

Почтовый домен компании:

SELECT
    *
FROM
    table
WHERE
    u.email LIKE '%@company.com';

Логины с точкой:

SELECT
    *
FROM
    table
WHERE
    u.email LIKE '%.%';

Адреса с цифрами:

SELECT
    *
FROM
    table
WHERE
    u.email LIKE '%[0-9]%';

Корпоративные email c hr:

SELECT
    *
FROM
    table
WHERE
    u.email LIKE 'hr%@company.com';

Почты с поддоменами:

SELECT
    *
FROM
    table
WHERE
    u.email LIKE '%.%.%';

Адреса без собаки:

SELECT
    *
FROM
    table
WHERE
    u.email NOT LIKE '%@%';

Яндекс-почта:

SELECT
    *
FROM
    table
WHERE
    u.email LIKE '%@yandex.%';

Майл.ру:

SELECT
    *
FROM
    table
WHERE
    u.email LIKE '%@mail.ru';

Персональные почты с именем ivan:

SELECT
    *
FROM
    table
WHERE
    u.email LIKE 'ivan%@%';

Поиск по именам пользователей

Имена начинаются с «Анна»:

SELECT
    *
FROM
    table
WHERE
    u.full_name LIKE 'Анна%';

Заканчиваются на «ов»:

SELECT
    *
FROM
    table
WHERE
    u.full_name LIKE '%ов';

Внутри содержат «Серг»:

SELECT
    *
FROM
    table
WHERE
    u.full_name LIKE '%Серг%';

Фамилии с пробелом:

SELECT
    *
FROM
    table
WHERE
    u.full_name LIKE '% %';

ФИО с буквой «Ё»:

SELECT
    *
FROM
    table
WHERE
    u.full_name LIKE '%Ё%';

Краткая запись с точкой:

SELECT
    *
FROM
    table
WHERE
    u.full_name LIKE '%.%';

Содержат отчество «Иванович»:

SELECT
    *
FROM
    table
WHERE
    u.full_name LIKE '%Иванович%';

Женские фамилии на «а»:

SELECT
    *
FROM
    table
WHERE
    u.full_name LIKE '%а';

Мужские фамилии на «ский»:

SELECT
    *
FROM
    table
WHERE
    u.full_name LIKE '%ский';

Имена из 4 букв:

SELECT
    *
FROM
    table
WHERE
    u.full_name LIKE '____';

Фильтрация телефонов

Телефоны начинаются с +7:

SELECT
    *
FROM
    table
WHERE
    u.phone LIKE '+7%';

Коды городов 495:

SELECT
    *
FROM
    table
WHERE
    u.phone LIKE '+7 (495)%';

Мобильные номера с 9:

SELECT
    *
FROM
    table
WHERE
    u.phone LIKE '+7 9%';

Номера с дефисами:

SELECT
    *
FROM
    table
WHERE
    u.phone LIKE '%-%';

Телефоны ровно 10 цифр:

SELECT
    *
FROM
    table
WHERE
    u.phone LIKE '__________';

Номера с кодом 812:

SELECT
    *
FROM
    table
WHERE
    u.phone LIKE '+7 (812)%';

Международные с +44:

SELECT
    *
FROM
    table
WHERE
    u.phone LIKE '+44%';

Номера с окончанием 00:

SELECT
    *
FROM
    table
WHERE
    u.phone LIKE '%00';

Служебные с кодом 800:

SELECT
    *
FROM
    table
WHERE
    u.phone LIKE '+7 (800)%';

Любые номера с пробелами:

SELECT
    *
FROM
    table
WHERE
    u.phone LIKE '% %';

Поиск по названиям товаров

Товары начинаются на Samsung:

SELECT
    *
FROM
    table
WHERE
    p.title LIKE 'Samsung%';

Модели iPhone:

SELECT
    *
FROM
    table
WHERE
    p.title LIKE 'iPhone%';

Одежда с «XL»:

SELECT
    *
FROM
    table
WHERE
    p.title LIKE '%XL%';

Книги со словом SQL:

SELECT
    *
FROM
    table
WHERE
    p.title LIKE '%SQL%';

Игрушки Lego:

SELECT
    *
FROM
    table
WHERE
    p.title LIKE 'Lego%';

Продукты с «Organic»:

SELECT
    *
FROM
    table
WHERE
    p.title LIKE '%Organic%';

Серия HP Pavilion:

SELECT
    *
FROM
    table
WHERE
    p.title LIKE 'HP Pavilion%';

Модели с цифрой 5:

SELECT
    *
FROM
    table
WHERE
    p.title LIKE '%5%';

Товары с дефисом:

SELECT
    *
FROM
    table
WHERE
    p.title LIKE '%-%';

Фильмы со словом Star:

SELECT
    *
FROM
    table
WHERE
    p.title LIKE '%Star%';

Фильтрация по категориям и брендам

Категории начинаются с Elec:

SELECT
    *
FROM
    table
WHERE
    c.category LIKE 'Elec%';

Категории заканчиваются на ware:

SELECT
    *
FROM
    table
WHERE
    c.category LIKE '%ware';

Бренды Apple:

SELECT
    *
FROM
    table
WHERE
    b.name LIKE 'Apple';

Бренды с «Tech»:

SELECT
    *
FROM
    table
WHERE
    b.name LIKE '%Tech%';

Категории с пробелом:

SELECT
    *
FROM
    table
WHERE
    c.category LIKE '% %';

Бренды на букву S:

SELECT
    *
FROM
    table
WHERE
    b.name LIKE 'S%';

Категории из 3 символов:

SELECT
    *
FROM
    table
WHERE
    c.category LIKE '___';

Бренды с цифрами:

SELECT
    *
FROM
    table
WHERE
    b.name LIKE '%[0-9]%';

Категории с дефисом:

SELECT
    *
FROM
    table
WHERE
    c.category LIKE '%-%';

Категории с приставкой Super:

SELECT
    *
FROM
    table
WHERE
    c.category LIKE 'Super%';

Поиск по адресам и городам

Города начинаются на «New»:

SELECT
    *
FROM
    table
WHERE
    a.city LIKE 'New%';

Улицы с «Street»:

SELECT
    *
FROM
    table
WHERE
    a.street LIKE '%Street%';

Адреса с номером дома:

SELECT
    *
FROM
    table
WHERE
    a.address LIKE '%[0-9]%';

Города заканчиваются на «burg»:

SELECT
    *
FROM
    table
WHERE
    a.city LIKE '%burg';

Улицы с точкой:

SELECT
    *
FROM
    table
WHERE
    a.street LIKE '%.%';

Города с дефисом:

SELECT
    *
FROM
    table
WHERE
    a.city LIKE '%-%';

Адреса с квартирой:

SELECT
    *
FROM
    table
WHERE
    a.address LIKE '%apt%';

Города из 4 букв:

SELECT
    *
FROM
    table
WHERE
    a.city LIKE '____';

Улицы с «Ave»:

SELECT
    *
FROM
    table
WHERE
    a.street LIKE '%Ave%';

Адреса начинаются с «ул.»:

SELECT
    *
FROM
    table
WHERE
    a.address LIKE 'ул.%';

Фильтрация по текстам комментариев

Комментарии с «спасибо»:

SELECT
    *
FROM
    table
WHERE
    c.text LIKE '%спасибо%';

Жалобы со словом «плохо»:

SELECT
    *
FROM
    table
WHERE
    c.text LIKE '%плохо%';

Отзывы с восклицательным знаком:

SELECT
    *
FROM
    table
WHERE
    c.text LIKE '%!%';

Тексты с хэштегом:

SELECT
    *
FROM
    table
WHERE
    c.text LIKE '%#%';

Сообщения со смайликами:

SELECT
    *
FROM
    table
WHERE
    c.text LIKE '%😊%';

Отзывы с словом «рекомендую»:

SELECT
    *
FROM
    table
WHERE
    c.text LIKE '%рекомендую%';

Комментарии с «?»:

SELECT
    *
FROM
    table
WHERE
    c.text LIKE '%?%';

Сообщения с словом urgent:

SELECT
    *
FROM
    table
WHERE
    c.text LIKE '%urgent%';

Тексты с URL:

SELECT
    *
FROM
    table
WHERE
    c.text LIKE '%http%';

Отзывы с словом awesome:

SELECT
    *
FROM
    table
WHERE
    c.text LIKE '%awesome%';

Поиск по номерам документов

Паспорта серии 45:

SELECT
    *
FROM
    table
WHERE
    d.passport_no LIKE '45____';

ИНН из 10 цифр:

SELECT
    *
FROM
    table
WHERE
    d.inn LIKE '__________';

СНИЛС с дефисами:

SELECT
    *
FROM
    table
WHERE
    d.snils LIKE '%-%';

Водительские номера на A:

SELECT
    *
FROM
    table
WHERE
    d.license_no LIKE 'A%';

Номера кредиток на 4:

SELECT
    *
FROM
    table
WHERE
    d.card_no LIKE '4%';

Номера счетов с 20 символами:

SELECT
    *
FROM
    table
WHERE
    d.account_no LIKE '____________________';

Паспорт заканчивается на 7:

SELECT
    *
FROM
    table
WHERE
    d.passport_no LIKE '%7';

ИНН начинается с 77:

SELECT
    *
FROM
    table
WHERE
    d.inn LIKE '77%';

СНИЛС с пробелами:

SELECT
    *
FROM
    table
WHERE
    d.snils LIKE '% %';

Номер лицензии с буквами и цифрами:

SELECT
    *
FROM
    table
WHERE
    d.license_no LIKE '%[A-Z0-9]%';

Фильтрация по датам и форматам

Даты в 2023 году:

SELECT
    *
FROM
    table
WHERE
    d.date_txt LIKE '2023-%';

Месяцы с 05:

SELECT
    *
FROM
    table
WHERE
    d.date_txt LIKE '____-05-%';

Формат YYYY-MM-DD:

SELECT
    *
FROM
    table
WHERE
    d.date_txt LIKE '____-__-__';

Часы 12:

SELECT
    *
FROM
    table
WHERE
    d.time_txt LIKE '12:%';

Минуты 30:

SELECT
    *
FROM
    table
WHERE
    d.time_txt LIKE '%:30:%';

Секунды 00:

SELECT
    *
FROM
    table
WHERE
    d.time_txt LIKE '%:00';

Даты с дефисом:

SELECT
    *
FROM
    table
WHERE
    d.date_txt LIKE '%-%';

Тексты с годом 2020:

SELECT
    *
FROM
    table
WHERE
    d.date_txt LIKE '%2020%';

Форматы с точкой:

SELECT
    *
FROM
    table
WHERE
    d.date_txt LIKE '%.%';

Даты на январь:

SELECT
    *
FROM
    table
WHERE
    d.date_txt LIKE '%-01-%';

Сложные комбинации

Пользователи gmail и с именем anna:

SELECT
    *
FROM
    table
WHERE
    u.email LIKE '%@gmail.com' AND u.full_name LIKE 'Anna%';

Товары SQL или Java:

SELECT
    *
FROM
    table
WHERE
    p.title LIKE '%SQL%' OR p.title LIKE '%Java%';

Адреса без улицы:

SELECT
    *
FROM
    table
WHERE
    a.address NOT LIKE '%Street%';

Фильмы без слова Star:

SELECT
    *
FROM
    table
WHERE
    f.title NOT LIKE '%Star%';

Телефоны +7 и с кодом 495:

SELECT
    *
FROM
    table
WHERE
    u.phone LIKE '+7 (495)%';

Отзывы без слова плохо:

SELECT
    *
FROM
    table
WHERE
    c.text NOT LIKE '%плохо%';

Email не gmail:

SELECT
    *
FROM
    table
WHERE
    u.email NOT LIKE '%@gmail.com';

Фамилии не на ов:

SELECT
    *
FROM
    table
WHERE
    u.full_name NOT LIKE '%ов';

Документы без цифр:

SELECT
    *
FROM
    table
WHERE
    d.doc_no NOT LIKE '%[0-9]%';

Комментарии без вопроса:

SELECT
    *
FROM
    table
WHERE
    c.text NOT LIKE '%?%';

Заключение

like sql — мощный инструмент работы со строковыми данными. Он полезен для поиска по email, ФИО, телефонам, адресам, категориям и текстам.
В статье разобраны 100 примеров: от простых фильтров по началу строки до сложных комбинаций с AND, OR, NOT.
Используйте LIKE осознанно, так как большое количество условий может замедлять поиск.


 

Понравилась статья? Поделиться с друзьями: