Unterschied zwischen JOIN und UNION in SQL

Autor: Laura McKinney
Erstelldatum: 2 April 2021
Aktualisierungsdatum: 5 Kann 2024
Anonim
3 Minuten JOIN VS UNION [SQL leicht erklärt]
Video: 3 Minuten JOIN VS UNION [SQL leicht erklärt]

Inhalt


JOIN und UNION sind die Klauseln in SQL, mit denen die Daten von zwei oder mehr Beziehungen kombiniert werden. Die Art und Weise, in der sie Daten und Format des erhaltenen Ergebnisses kombinieren, ist jedoch unterschiedlich. Das BEITRETEN Klausel kombiniert die Attribute von zwei Relationen, um die resultierenden Tupel zu bilden, während, UNION Klausel kombiniert das Ergebnis von zwei Abfragen. Lassen Sie uns den Unterschied zwischen JOIN und UNION anhand der folgenden Vergleichstabelle diskutieren.

  1. Vergleichstabelle
  2. Definition
  3. Hauptunterschiede
  4. Fazit

Vergleichstabelle

Grundlage für den VergleichBEITRETENUNION
BasicJOIN kombiniert Attribute der Tupel in den zwei verschiedenen Beziehungen, die einige gemeinsame Felder oder Attribute haben.UNION kombiniert Tupel der Beziehungen, die in der Abfrage vorhanden sind.
BedingungJOIN ist anwendbar, wenn die beiden beteiligten Beziehungen mindestens ein gemeinsames Attribut haben.UNION ist anwendbar, wenn die Anzahl der in der Abfrage vorhandenen Spalten gleich ist und die entsprechenden Attribute dieselbe Domäne haben.
TypenINNEN, VOLL (AUSSEN), LINKS, RECHTS.UNION und UNION ALL.
BewirkenDie Länge der resultierenden Tupel ist größer als die Länge der Tupel der beteiligten Beziehungen.Die Anzahl der resultierenden Tupel ist größer als die Anzahl der Tupel, die in jeder Beziehung vorhanden sind, die an der Abfrage beteiligt ist.
Diagramm



Definition von JOIN

BEITRETEN Die SQL-Klausel kombiniert die Tupel aus zwei Relationen oder Tabellen, was zu einer längeren Tupelgröße führt. Das resultierende Tupel enthält Attribute aus beiden Relationen. Attribute werden basierend auf den gemeinsamen Attributen miteinander kombiniert. Die verschiedenen Arten von JOIN in SQL sind INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN.

INNER JOIN Kombiniert Tupel aus beiden Tabellen, sofern beide ein gemeinsames Attribut haben. LINKS VERBINDEN ergibt alle Tupel der linken Tabelle und das dazugehörige Tupel der rechten Tabelle. RICHTIG BEITRETEN ergibt alle Tupel aus der rechten Tabelle und nur das passende Tupel aus der linken Tabelle. KOMPLETTE AUSSENVERBINDUNG führt zu allen Tupeln aus beiden Tabellen, obwohl sie übereinstimmende Attribute haben oder nicht.


INNER JOIN ist dasselbe wie JOIN. Sie können auch das Schlüsselwort INNER löschen und einfach JOIN verwenden, um INNER JOIN auszuführen.

Definition von UNION

UNION ist eine festgelegte Operation in SQL. UNON kombiniert das Ergebnis von zwei Abfragen. Das Ergebnis von UNION enthält die Tupel aus beiden in der Abfrage vorhandenen Beziehungen. Die Bedingungen, die für die Vereinigung zweier Beziehungen erfüllt sein müssen, sind:

  1. Die beiden Relationen müssen die gleiche Anzahl von Attributen haben.
  2. Die Domänen des entsprechenden Attributs müssen identisch sein.

Es gibt zwei Arten von UNION UNION und UNION ALL. Das mit UNION erhaltene Ergebnis enthält keine Duplikate. Auf der anderen Seite bleibt das Ergebnis, das mit UNION ALL erhalten wurde, doppelt erhalten.

  1. Der Hauptunterschied zwischen JOIN und UNION besteht darin, dass JOIN die Tupel aus zwei Beziehungen kombiniert und die resultierenden Tupel Attribute aus beiden Beziehungen enthalten. Andererseits kombiniert die UNION das Ergebnis von zwei SELECT-Abfragen.
  2. Die JOIN-Klausel ist nur anwendbar, wenn die beiden beteiligten Beziehungen mindestens ein Attribut gemeinsam haben. Andererseits ist die UNION anwendbar, wenn die beiden Beziehungen die gleiche Anzahl von Attributen haben und die Domänen der entsprechenden Attribute gleich sind.
  3. Es gibt vier Arten von JOIN INNER JOIN, LEFT JOIN, RIGHT JOIN und FULL OUTER JOIN. Es gibt jedoch zwei Arten von UNION, UNION und UNION ALL.
  4. In JOIN ist das resultierende Tupel größer, da es Attribute aus beiden Relationen enthält. Andererseits wird in UNION die Anzahl der Tupel erhöht, da das Tupel aus beiden in der Abfrage vorhandenen Beziehungen enthalten ist.

Fazit:

Beide Datenkombinationsoperationen werden in verschiedenen Situationen verwendet. JOIN wird verwendet, wenn Attribute von zwei Relationen kombiniert werden sollen, die mindestens ein Attribut gemeinsam haben. UNION wird verwendet, wenn die Tupel der beiden in der Abfrage vorhandenen Beziehungen kombiniert werden sollen.