Sobes.tech
Назад к вопросам
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;