Skip to main content

Для чого потрібно об'єднувати таблиці?

Таблиці об'єднують, щоб дістати пов'язані дані, які зберігаються окремо.

У реальних базах усе рідко лежить в одній таблиці - щоб уникнути дублювання й помилок, дані нормалізують (розносять по різних таблицях). JOIN потрібен, щоб знову «зібрати» ці шматки докупи під час аналізу.

Приклад 1. Розділені сутності

  • Таблиця users зберігає імена та id користувачів.
  • Таблиця orders зберігає замовлення, де є лише user_id.

Щоб побачити, хто зробив яке замовлення, їх треба з'єднати:

sql
SELECT users.name, orders.amount FROM users JOIN orders ON users.id = orders.user_id;

Без JOIN не вийде пов'язати ім'я людини з її замовленням.

Приклад 2. Економія пам'яті та логіка

Замість того, щоб зберігати ім'я клієнта в кожному рядку замовлення, у таблицю orders кладуть лише user_id. Це робить базу швидшою, компактнішою й безпечнішою - і не треба дублювати дані.

Приклад 3. Багатошарові дані

Іноді дані пов'язані ланцюжком: users -> orders -> products -> categories. JOIN дозволяє пройти цими зв'язками й зібрати все в один звіт:

sql
SELECT users.name, products.title, categories.name FROM users JOIN orders ON users.id = orders.user_id JOIN products ON orders.product_id = products.id JOIN categories ON products.category_id = categories.id;

Отримуємо повну картину: хто купив що й з якої категорії.

Підсумок: Таблиці об'єднують, щоб:

  • пов'язати дані з різних джерел (наприклад, користувач <-> замовлення);
  • уникнути дублювання інформації;
  • будувати звіти, аналітику й вибірки з кількох таблиць одночасно.

Простіше кажучи - JOIN робить з розрізнених таблиць єдину логічну картину даних.

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

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

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