В чем разница между JOIN и UNION? - PullRequest
223 голосов
/ 25 мая 2009

В чем разница между JOIN и UNION? Можно мне пример?

Ответы [ 15 ]

0 голосов
/ 29 сентября 2018

Операция объединения представляет собой объединенный результат Вертикальный Совокупность строк, Операция объединения представляет собой объединенный результат совокупности столбцов Горизонтальный .

0 голосов
/ 29 мая 2018

Ussing UNION

UNION объединяет результаты двух или более запросов в один набор результатов, который включает все строки, принадлежащие всем запросам в объединении.

UNION Example:
SELECT 121 AS [Column1], 221 AS [Column2]
UNION
SELECT 321 AS [Column1], 422 AS [Column2]
Output:

Column1    Column2
-------------------
121          221
321          422

Ussing JOINs

СОЕДИНЕНИЯ, вы можете извлекать данные из двух или более таблиц на основе логических связей между таблицами.

JOIN Example:
SELECT a.Column1, b.Column2 FROM TblA a INNER JOIN TblB b ON a.Id = b.id

0 голосов
/ 09 июня 2016

В резюме они похожи в том, что объединяются две таблицы или наборы результатов, но UNION действительно предназначен для объединения наборов результатов с ОДНИМ КОЛИЧЕСТВОМ КОЛОНН с КОЛОННАМИ, ИМЕЮЩИМИ ПОДОБНЫЕ ТИПЫ ДАННЫХ. СТРУКТУРА та же самая, добавляются только новые строки.

В объединениях вы можете комбинировать таблицы / наборы результатов с любой возможной структурой, включая декартово объединение, где НЕТ общих / похожих столбцов.

0 голосов
/ 23 февраля 2016

1. Предложение SQL Joins используется для объединения записей из двух или более таблиц в базе данных. JOIN - это средство для объединения полей из двух таблиц с использованием значений, общих для каждой.

2. Оператор SQL UNION объединяет результат двух или более операторов SELECT. Каждый оператор SELECT в UNION должен иметь одинаковое количество столбцов. Столбцы также должны иметь похожие типы данных. Кроме того, столбцы в каждом операторе SELECT должны быть в том же порядке.

например: таблица 1 клиентов / таблица 2 заказов

внутреннее соединение:

ВЫБЕРИТЕ ID, ИМЯ, СУММУ, ДАТУ

ОТ КЛИЕНТОВ

ВНУТРЕННИЕ ЗАКАЗЫ СОЕДИНЕНИЯ

ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;

союз:

ВЫБЕРИТЕ ID, ИМЯ, СУММУ, ДАТУ

ОТ КЛИЕНТОВ

СЛЕДУЮЩИЕ ЗАКАЗЫ СОЕДИНЕНИЙ

ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID

СОЮЗ

ВЫБЕРИТЕ ID, ИМЯ, СУММУ, ДАТУ ОТ КЛИЕНТОВ

ПРАВИЛЬНЫЕ ЗАКАЗЫ СОЕДИНЕНИЯ

ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;

0 голосов
/ 27 июля 2015

Оператор UNION предназначен только для объединения двух или более операторов SELECT.

Хотя JOIN предназначен для выбора строк из каждой таблицы внутренним, внешним, левым или правым методом.

См. здесь и здесь . Есть лучшее объяснение с примерами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...