Разница между JOIN и UNION в SQL

Автор: Laura McKinney
Дата создания: 2 Апрель 2021
Дата обновления: 5 Май 2024
Anonim
Difference between JOIN and UNION with Example
Видео: Difference between JOIN and UNION with Example

Содержание


JOIN и UNION - это предложения в SQL, используемые для объединения данных двух или более отношений. Но способ, которым они объединяют данные и формат полученного результата, отличается. ПРИСОЕДИНИТЬСЯ Предложение объединяет атрибуты двух отношений для формирования результирующих кортежей, тогда как, UNION Предложение объединяет результат двух запросов. Давайте обсудим разницу между JOIN и UNION с помощью сравнительной таблицы, показанной ниже.

  1. Сравнительная таблица
  2. Определение
  3. Ключевые отличия
  4. Заключение

Сравнительная таблица

Основа для сравненияПРИСОЕДИНИТЬСЯUNION
основнойJOIN объединяет атрибуты кортежей, присутствующих в двух разных отношениях, которые имеют общие поля или атрибуты.UNION объединяет кортежи отношений, которые присутствуют в запросе.
УсловиеJOIN применяется, когда два вовлеченных отношения имеют хотя бы один общий атрибут.UNION применяется, когда число столбцов, присутствующих в запросе, одинаково и соответствующие атрибуты имеют одинаковый домен.
ТипыВНУТРЕННЯЯ, ПОЛНАЯ (НАРУЖНАЯ), ЛЕВАЯ РЕГИСТРАЦИЯ, ПРАВАЯ СОЕДИНЕНИЕСОЮЗ и СОЮЗ ВСЕХ.
эффектДлина результирующих кортежей больше по сравнению с длиной кортежей вовлеченных отношений.Количество результирующих кортежей больше по сравнению с количеством кортежей, присутствующих в каждом отношении, участвующем в запросе.
схема



Определение JOIN

ПРИСОЕДИНИТЬСЯ Предложение в SQL объединяет кортежи из двух отношений или таблиц, что приводит к увеличению размера кортежа. Результирующий кортеж содержит атрибуты из обоих отношений. Атрибуты объединяются на основе общих атрибутов между ними. Различные типы JOIN в SQL ВНУТРЕННЕЕ РЕШЕНИЕ, ЛЕВОЕ СОЕДИНЕНИЕ, ПРАВИЛЬНОЕ СОЕДИНЕНИЕ, ПОЛНОЕ НАРУЖНОЕ СОЕДИНЕНИЕ.

ВНУТРЕННЕЕ СОЕДИНЕНИЕ объединяет кортежи из обеих таблиц, если между ними есть общий атрибут. ЛЕВОЕ СОЕДИНЕНИЕ приводит ко всем кортежам левой таблицы и соответствующим кортежу из правой таблицы. ПРАВИЛЬНОЕ СОЕДИНЕНИЕ В результате получаются все кортежи из правой таблицы и только совпадающие кортежи из левой таблицы. ПОЛНОЕ НАРУЖНОЕ СОЕДИНЕНИЕ приводит ко всем кортежам из обеих таблиц, хотя они имеют совпадающие атрибуты или нет.


ВНУТРЕННЕЕ СОЕДИНЕНИЕ такое же, как ВМЕСТЕ Вы также можете удалить ключевое слово INNER и просто использовать JOIN для выполнения INNER JOIN.

Определение СОЮЗА

UNION - это операция над множествами в SQL. UNON объединяет результат двух запросов. Результат UNION включает в себя кортежи обоих отношений, присутствующих в запросе. Условия, которые должны быть выполнены для объединения двух отношений:

  1. Два отношения должны иметь одинаковое количество атрибутов.
  2. Домены соответствующего атрибута должны быть одинаковыми.

Есть два типа СОЮЗА, которые UNION а также СОЮЗ ВСЕХ, Результат, полученный с помощью UNION, не содержит дубликатов. С другой стороны, результат, полученный с помощью UNION ALL, сохраняет дубликат.

  1. Основное различие между JOIN и UNION состоит в том, что JOIN объединяет кортежи из двух отношений, а результирующие кортежи включают атрибуты из обоих отношений. С другой стороны, UNION объединяет результат двух запросов SELECT.
  2. Предложение JOIN применимо только тогда, когда два участвующих отношения имеют хотя бы один общий атрибут в обоих. С другой стороны, UNION применяется, когда два отношения имеют одинаковое количество атрибутов и домены соответствующих атрибутов одинаковы.
  3. Существует четыре типа РЕАГИРОВАНИЯ ВНУТРЕННЕГО РЕШЕНИЯ, ЛЕВОГО СОЕДИНЕНИЯ, ПРЯМОГО СОЕДИНЕНИЯ, ПОЛНОГО НАРУЖНОГО СОЕДИНЕНИЯ. Но есть два типа UNION, UNION и UNION ALL.
  4. В JOIN результирующий кортеж имеет больший размер, поскольку включает атрибуты обоих отношений. С другой стороны, в UNION число кортежей увеличивается, в результате чего в них входит кортеж из обоих отношений, присутствующих в запросе.

Заключение:

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