Повернутися до всіх запитань

Як працює INNER JOIN?

Devs Hive

Devs Hive

Зустрічали на інтервʼю: 0 користувачів

INNER JOIN - це тип JOIN, який повертає лише ті рядки, для яких є збіг в обох таблицях. Тобто, якщо значення в одній таблиці не має відповідного значення в іншій таблиці, такий рядок не потрапить у результат.

Розберемо приклад

Ми маємо дві таблиці: users і subscriptions. Наша задача полягає в тому, щоб отримати лише тих користувачів, які мають підписку. Для цього ми будемо використовувати INNER JOIN.

-- users
id | name
------------
1 | Alice
2 | Bob
3 | John

-- subscriptions
id | user_id | plan_name
-------------------------
1 | 1 | Basic
2 | 2 | Premium

Запит буде мати наступний вигляд. Давайте розберемо його детальніше:

-- Вибираємо стовпці, які хочемо бачити в результаті:
-- name - з таблиці users
-- plan_name - з таблиці subscriptions
SELECT
users.name,
subscriptions.plan_name
FROM
users

-- Робимо INNER JOIN таблиці subscriptions
-- по полю users.id та subscriptions.user_id
INNER JOIN
subscriptions
ON
users.id = subscriptions.user_id;

В результаті виконання запиту, ми отримаємо такий результат:

name | plan_name
-------------------------
Alice | Basic
Bob | Premium

Важливо пам’ятати

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

Зустрічав на інтервʼю?

Повʼязані питання

Коментарі (0)

Увійдіть, щоб залишити коментар

Поки що немає коментарів. Будьте першим!