Skip to main content

Що робить оператор IN?

IN - оператор, який перевіряє, чи перебуває значення в списку можливих варіантів. Він використовується в WHERE, щоб не писати довгі ланцюжки з OR.

Як працює

IN порівнює значення стовпця з набором значень, зазначених у дужках. Якщо значення збігається хоча б з одним елементом зі списку - умова істинна.

sql
SELECT * FROM employees WHERE city IN ('Kyiv', 'Lviv', 'Odesa');

Запит обере всіх співробітників, чиї міста - Київ, Львів чи Одеса.

Альтернатива без IN

Без нього довелося б писати довго:

sql
WHERE city = 'Kyiv' OR city = 'Lviv' OR city = 'Odesa'

IN робить те саме, але коротше й зрозуміліше.

Заперечення

Якщо додати NOT, вийде перевірка "значення не входить у список":

sql
WHERE department NOT IN ('HR', 'Finance');

Виключить усіх з відділів HR і Finance.

Можна використовувати й підзапит

sql
WHERE id IN (SELECT employee_id FROM bonuses);

Обирає всіх співробітників, чиї ID є в таблиці bonuses.

Підсумок: IN - це зручний спосіб фільтрувати за множиною значень одразу. Працює з числами, текстом і навіть результатами підзапитів.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.