Оператор LIKE

Оператор LIKE в MySQL використовується для пошуку рядків, які відповідають певному шаблону у запитах SELECT, UPDATE або DELETE. Це дуже зручно, коли потрібно здійснити частковий пошук або фільтрацію.
Синтаксис
SELECT * FROM table_name
WHERE column_name LIKE pattern;

У шаблонах LIKE використовуються два основні wildcards (спеціальні символи):
% – Будь-яка кількість символів (в т.ч. нуль)
_ – Рівно один будь-який символ

Приклад

-- Починається з...
SELECT * FROM users
WHERE name LIKE 'Ан%';
-- Знайде: Андрій, Анна, Антон, але не Іван.
       
-- Закінчується на...
SELECT * FROM products
WHERE code LIKE '%XYZ';
-- Знайде: 123XYZ, ABXYZ, але не XYZ123.

-- Містить...
SELECT * FROM articles
WHERE title LIKE '%наука%';
-- Знайде: Світ науки, Популярна наука, Історія науки.

-- Фіксована кількість символів
SELECT * FROM users
WHERE username LIKE 'A___';  -- 4 символи, починається з 'A'
-- Знайде: Alex, Anna

Наскрізний приклад

-- Створення бази даних
CREATE DATABASE like_operator_practice;
USE like_operator_practice;

-- Створення таблиці employees
CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    full_name VARCHAR(100),
    position VARCHAR(50),
    email VARCHAR(100)
);

-- Наповнення таблиці даними
INSERT INTO employees (full_name, position, email) VALUES
('Олександр Луценко', 'Інженер', 'olutsenko@example.com'),
('Ірина Коваль', 'Менеджер', 'ikoval@example.com'),
('Андрій Міхненко', 'Інженер', 'amihnenko@example.com'),
('Анна Шевчук', 'HR-менеджер', 'ashevchuk@example.com'),
('Вікторія Нестеренко', 'Інженер-програміст', 'vnester@example.com'),
('Іван Сидоренко', 'Тестувальник', 'isidorenko@example.com');

-- Пошук всіх працівників, чиє ім’я починається на "Ан"
SELECT * FROM employees
WHERE full_name LIKE 'Ан%';
--  Результат:
-- Андрій Міхненко
-- Анна Шевчук

-- Пошук позицій, які містять слово "Інженер"
SELECT * FROM employees
WHERE position LIKE '%Інженер%';
-- Результат:
-- Олександр Луценко — Інженер
-- Вікторія Нестеренко — Інженер-програміст
-- Андрій Міхненко — Інженер

-- Пошук email-адрес, які починаються з "i"
SELECT * FROM employees
WHERE email LIKE 'i%';
-- Результат:
-- ikoval@example.com
-- isidorenko@example.com

-- Пошук працівників з іменами довжиною 5 символів, які починаються на "І"
SELECT * FROM employees
WHERE full_name LIKE 'І____ %';
--  Результат:
-- Ірина Коваль

Для додаткової візуалізації є відео.

Leave a Reply

Your email address will not be published. Required fields are marked *