Raccomandato, 2024

Scelta Del Redattore

Differenza tra JOIN e UNION in SQL

JOIN e UNION sono le clausole in SQL, utilizzate per combinare i dati di due o più relazioni. Ma il modo in cui combinano i dati e il formato del risultato ottenuto differisce. La clausola JOIN combina gli attributi di due relazioni per formare le tuple risultanti mentre, la clausola UNION combina il risultato di due query. Cerchiamo di discutere la differenza tra JOIN e UNION con l'aiuto del grafico di confronto mostrato di seguito.

Grafico comparativo

Base per il confrontoADERIREUNIONE
Di baseJOIN combina gli attributi delle tuple presenti nelle due diverse relazioni che condividono alcuni campi o attributi comuni.UNION combina le tuple delle relazioni che sono presenti nella query.
CondizioneJOIN è applicabile quando le due relazioni coinvolte hanno almeno un attributo comune.UNION è applicabile quando il numero di colonne presenti nella query è uguale e gli attributi corrispondenti hanno lo stesso dominio.
tipiINTERNO, PIENO (ESTERNO), SINISTRA UNISCI, GIUSTO GIUSTO.UNIONE e UNIONE TUTTI.
EffettoLa lunghezza delle tuple risultanti è più rispetto alla lunghezza delle tuple delle relazioni coinvolte.Il numero delle tuple risultanti è più rispetto al numero di tuple presenti in ciascuna relazione coinvolta nella query.
Diagramma

Definizione di JOIN

La clausola JOIN in SQL combina le tuple di due relazioni o tabelle risultanti in una dimensione di tuple più lunga. La tupla risultante contiene attributi di entrambe le relazioni. Gli attributi sono combinati in base agli attributi comuni tra di loro. I diversi tipi di JOIN in SQL sono INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN.

INNER JOIN combina le tuple di entrambe le tabelle fintanto che esiste un attributo comune tra entrambi. LEFT JOIN genera tutte le tuple del tavolo sinistro e la tupla corrispondente dal tavolo destro. RIGHT JOIN genera tutte le tuple dalla tabella di destra e solo la tupla corrispondente dalla tabella sinistra. FULL OUTER JOIN genera tutte le tuple di entrambi i tavoli anche se hanno attributi corrispondenti o meno.

INNER JOIN è uguale al JOIN. Puoi anche eliminare la parola chiave INNER e utilizzare semplicemente JOIN per eseguire INNER JOIN.

Definizione di UNION

UNION è un'operazione impostata in SQL. UNON combina il risultato di due query. Il risultato di UNION include le tuple di entrambe le relazioni presenti nella query. Le condizioni che devono essere soddisfatte dall'UNIONE di due relazioni sono:

  1. Le due relazioni devono avere lo stesso numero di attributi.
  2. I domini dell'attributo corrispondente devono essere uguali.

Esistono due tipi di UNION che sono UNION e UNION ALL . Il risultato ottenuto usando UNION non include duplicati. D'altra parte, il risultato ottenuto utilizzando UNION ALL conserva i duplicati.

Differenze chiave tra JOIN e UNION in SQL

  1. La differenza principale tra JOIN e UNION è che JOIN combina le tuple di due relazioni e le tuple risultanti includono gli attributi di entrambe le relazioni. D'altra parte, UNION combina il risultato di due query SELECT.
  2. La clausola JOIN è applicabile solo quando le due relazioni coinvolte hanno almeno un attributo comune in entrambi. D'altra parte, l'UNION è applicabile quando le due relazioni hanno lo stesso numero di attributi e i domini degli attributi corrispondenti sono uguali.
  3. Ci sono quattro tipi di JOIN INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN. Ma ci sono due tipi di UNION, UNION e UNION ALL.
  4. In JOIN, la tupla risultante ha la dimensione maggiore in quanto include attributi di entrambe le relazioni. D'altra parte, in UNION il numero di tuple è aumentato di conseguenza include la tupla da entrambe le relazioni presenti nella query.

Conclusione:

Entrambe le operazioni di combinazione dei dati vengono utilizzate in diverse situazioni. JOIN viene utilizzato quando vogliamo combinare gli attributi di due relazioni aventi almeno un attributo in comune. UNION viene utilizzato quando vogliamo combinare le tuple delle due relazioni presenti nella query.

Top