Для чого потрібно об'єднувати таблиці?
Таблиці об'єднують, щоб дістати пов'язані дані, які зберігаються окремо.
У реальних базах усе рідко лежить в одній таблиці - щоб уникнути дублювання й помилок, дані нормалізують (розносять по різних таблицях).
JOIN потрібен, щоб знову «зібрати» ці шматки докупи під час аналізу.
Приклад 1. Розділені сутності
- Таблиця
usersзберігає імена та id користувачів. - Таблиця
ordersзберігає замовлення, де є лишеuser_id.
Щоб побачити, хто зробив яке замовлення, їх треба з'єднати:
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 дозволяє пройти цими зв'язками й зібрати все в один звіт:
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 робить з розрізнених таблиць єдину логічну картину даних.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.