Назад к вопросам
Junior — Middle
63
Объясните различия между операциями UNION и JOIN в SQL, а также их применение.
Ответ от нейросети
sobes.tech AI
UNION и JOIN — это разные операции в SQL, используемые для работы с таблицами:
-
UNION объединяет результаты двух или более SELECT-запросов в один набор строк. При этом строки из всех запросов идут друг за другом, а дубликаты по умолчанию удаляются (если нужно сохранить дубликаты, используется UNION ALL). Все запросы должны возвращать одинаковое количество столбцов с совместимыми типами.
-
JOIN объединяет строки из двух таблиц на основе связанного столбца (ключа). JOIN позволяет получить комбинированные данные из обеих таблиц, например, получить информацию о заказах вместе с данными о клиентах.
Применение:
- UNION используется, когда нужно объединить похожие данные из разных таблиц или запросов, например, список клиентов из двух разных регионов.
- JOIN используется, когда нужно связать данные из разных таблиц по ключу, например, получить список заказов с деталями клиентов.
Пример:
-- UNION
SELECT name FROM customers_us
UNION
SELECT name FROM customers_eu;
-- JOIN
SELECT orders.id, customers.name
FROM orders
JOIN customers ON orders.customer_id = customers.id;