Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

В чем принципиальное различие в sql оператора Join от Union? Чем принципиально отличаются? Где используются?

Олег Дрозд Знаток (260), закрыт 12 лет назад
Лучший ответ
Александр Свиридов Мудрец (10703) 12 лет назад
Ха-ха! На самом деле и JOIN и UNION делают одно и то же - объединяют SELECT запросы.

Только JOIN добавляет столбцы в результирующую таблицу,
а UNION пририсовывает к концу имеющейся таблицы ещё одну.

JOIN полезен если есть некая таблица и захотели выбрать связанные записи. Например, взяли таблицу "продажи" и дополнительно выбрали наименование клиента у каждой операции. Склеивание таблиц пойдёт по внешним ключам.

UNION полезен если нужно соединить 2 таблицы. К примеру ситуация. Есть продажи оптовые, хранятся в таблице оптовых продаж. И розничные. В таблице розничных продаж. Делаешь
select ...from "оптовые"
union
select ...from "розничные"
Только надо помнить что union требует одинаковости колонок во всех SELECT.
И получаешь суммарные продажи по всему предприятию.
Остальные ответы
Николай Веселуха Высший разум (374719) 12 лет назад
JOIN выполняет объединение в рамках одного запроса, а UNION выполняет объединение из двух и более запросов.
Jurijus Zaksas Искусственный Интеллект (456779) 12 лет назад
UNION - это объединение множеств одинаковых кортежей, JOIN - создание нового множества кортежей на основе исходных множеств. UNION может дать пустое множество только если все исходные множества пусты, JOIN - если не выполнится условие создания множества.
ПсевдонимЗнаток (313) 1 год назад
них-я не понятно написал.
Псевдоним Знаток (313) 1 год назад
https://learn.microsoft.com/ru-ru/sql/t-sql/language-elements/set-operators-union-transact-sql?view=sql-server-ver16


количество и порядок столбцов должны быть одинаковыми во всех запросах;
типы данных должны быть совместимыми.

Итогом служит объединение 2х "Таблиц" запросов по одинаковой структуре данных. 1-я таблица 4 колонки, 2-я таблица 4 колонки. Дубли строк удаляются.
Похожие вопросы