Differenza tra JOIN e UNION in SQL

Autore: Laura McKinney
Data Della Creazione: 2 Aprile 2021
Data Di Aggiornamento: 5 Maggio 2024
Anonim
Join and Union in SQL Server
Video: Join and Union in SQL Server

Contenuto


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. Il ADERIRE la clausola combina gli attributi di due relazioni per formare le tuple risultanti mentre, UNIONE la clausola combina il risultato di due query. Discutiamo la differenza tra JOIN e UNION con l'aiuto della tabella di confronto mostrata di seguito.

  1. Tabella di comparazione
  2. Definizione
  3. Differenze chiave
  4. Conclusione

Tabella di comparazione

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 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 è lo stesso e gli attributi corrispondenti hanno lo stesso dominio.
tipiINTERNO, COMPLETO (ESTERNO), SINISTRA, UNIONE DESTRA.UNION e UNION ALL.
EffettoLa lunghezza delle tuple risultanti è maggiore rispetto alla lunghezza delle tuple delle relazioni coinvolte.Il numero delle tuple risultanti è maggiore rispetto al numero di tuple presenti in ciascuna relazione coinvolta nella query.
Diagramma



Definizione di JOIN

ADERIRE la clausola in SQL combina le tuple di due relazioni o tabelle risultanti in una dimensione della tupla più lunga. La tupla risultante contiene attributi di entrambe le relazioni. Gli attributi vengono combinati in base agli attributi comuni tra loro. I diversi tipi di JOIN in SQL sono ISCRIVITI ALL'INTERNO, ISCRIVITI A SINISTRA, ISCRIVITI A DESTRA, ISCRIVITI ESTERNO COMPLETO.

UNIONE INTERNA combina le tuple di entrambe le tabelle purché sia ​​presente un attributo comune tra le due. Iscriviti a sinistra risulta in tutte le tuple della tabella di sinistra e nella tupla corrispondente della tabella di destra. ISCRIVITI A DESTRA risulta in tutte le tuple dalla tabella di destra e solo la tupla corrispondente dalla tabella di sinistra. UNISCITI ESTERNI COMPLETI risulta in tutte le tuple di entrambe le tabelle sebbene abbiano o meno attributi corrispondenti.


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

Definizione di UNIONE

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 delle 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 UNIONE e UNION ALL. Il risultato ottenuto utilizzando UNION non include duplicati. D'altra parte, il risultato ottenuto utilizzando UNION ALL conserva duplicati.

  1. La differenza principale tra JOIN e UNION è che JOIN combina le tuple di due relazioni e le tuple risultanti includono 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'altro canto, l'UNIONE è applicabile quando le due relazioni hanno lo stesso numero di attributi e i domini degli attributi corrispondenti sono uguali.
  3. Esistono 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 dimensioni maggiori in quanto include attributi di entrambe le relazioni. D'altra parte, in UNION il numero di tuple aumenta di conseguenza includendo la tupla di 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 con almeno un attributo in comune. UNION viene utilizzato quando vogliamo combinare le tuple delle due relazioni presenti nella query.