Можно ли сделать JOIN без внешнего ключа? Чем JOIN отличается от UNION?

UNION и JOIN — это разные операции в SQL, используемые для работы с таблицами:

Короткий ответ

Что ответить на собеседовании

UNION и JOIN — это разные операции в SQL, используемые для работы с таблицами:

Подробный разбор

Ответ с пояснениями

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;

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее