Рекомендуємо, 2020

Вибір Редакції

Різниця між JOIN і UNION в SQL

JOIN і UNION - це пункти в SQL, які використовуються для об'єднання даних двох або більше відносин. Але спосіб, яким вони поєднують дані і формат отриманого результату, відрізняється. Пункт JOIN поєднує в собі атрибути двох відносин для формування результуючих кортеж, тоді як пропозиція UNION об'єднує результат двох запитів. Давайте обговоримо різницю між JOIN і UNION за допомогою діаграми порівняння, показаної нижче.

Діаграма порівняння

Основа для порівнянняJOINСОЮЗ
ОсновнийJOIN поєднує в собі атрибути кортежів, присутніх у двох різних відносинах, які поділяють деякі загальні поля або атрибути.UNION об'єднує кортежі відносин, які присутні в запиті.
СтанJOIN застосовується, коли два задіяні відносини мають принаймні один загальний атрибут.UNION застосовується, коли кількість стовпців, що присутні в запиті, однакові, а відповідні атрибути мають один і той же домен.
ТипиВНУТРІШНІ, ПОВНІ (ВНЕШНІ), ВЕРХНЕ ВСТАНОВЛЕННЯ, ВПРАВО ВСТУП.UNION і UNION ALL.
ЕфектДовжина результуючих кортежів більше в порівнянні з довжиною кортежів задіяних відносин.Кількість результуючих кортежів більше в порівнянні з кількістю кортежів, присутніх у кожному відношенні, задіяних у запиті.
Діаграма

Визначення JOIN

У статті JOIN в SQL поєднуються кортежі з двох відносин або таблиць, що призводить до збільшення розміру кортежу. Отриманий кортеж містить атрибути з обох відносин. Атрибути об'єднуються на основі загальних атрибутів між ними. Різні типи JOIN в SQL - INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN.

INNER JOIN поєднує кортежі з обох таблиць, якщо між ними існує загальний атрибут. LEFT JOIN призводить до отримання всіх кортежів лівої таблиці та відповідності кортежу з правої таблиці. RIGHT JOIN призводить до отримання всіх кортежів з правої таблиці і лише узгоджує кортеж з лівої таблиці. FULL OUTER JOIN призводить до отримання всіх кортежів з обох таблиць, хоча вони мають відповідні атрибути чи ні.

INNER JOIN є таким же, як JOIN. Ви також можете відкинути ключове слово INNER і просто використовувати JOIN для виконання INNER JOIN.

Визначення СОЮЗУ

UNION - це операція набору в SQL. UNON об'єднує результат двох запитів. Результат UNION включає кортежі з обох відносин, що присутні в запиті. Умови, які повинні бути задоволені прийняти СОЮЗ двох відносин:

  1. Два відносини повинні мати однакову кількість атрибутів.
  2. Домени відповідного атрибута повинні бути однаковими.

Є два типи UNION, які є UNION і UNION ALL . Результат, отриманий за допомогою UNION, не включає дублікати. З іншого боку, результат, отриманий за допомогою UNION ALL, зберігає дублікати.

Ключові відмінності між JOIN і UNION в SQL

  1. Основна відмінність між JOIN і UNION полягає в тому, що JOIN об'єднує кортежі з двох відносин, а результуючі кортежі включають атрибути з обох відносин. З іншого боку, UNION об'єднує результат двох запитів SELECT.
  2. Декларація JOIN застосовується лише тоді, коли два задіяні відносини мають принаймні один атрибут, загальний для обох. З іншого боку, UNION застосовується, коли два відносини мають однакове число атрибутів і домени відповідних атрибутів однакові.
  3. Існує чотири типи JOIN INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN. Але існують два типи UNION, UNION і UNION ALL.
  4. У JOIN результуючий кортеж має більший розмір, оскільки включає атрибути з обох відносин. З іншого боку, в UNION кількість кортежів збільшується в результаті включають кортеж з обох відносин, присутніх у запиті.

Висновок:

Обидві операції об'єднання даних використовуються в різних ситуаціях. JOIN використовується, коли ми хочемо об'єднати атрибути двох відносин, які мають принаймні один атрибут. UNION використовується, коли ми хочемо об'єднати кортежі двох відносин, які присутні в запиті.

Top