| Оператор 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 'І____ %';
-- Результат:
-- Ірина Коваль
Для додаткової візуалізації є відео.