Vedi uno in SQL | Tipi di join in SQL

Contenuti

introduzione

I join SQL possono essere un concetto complicato da padroneggiare per i principianti. Se non hai mai studiato programmazione prima, potresti avere difficoltà a capire in quali combinazioni ci sono SQL e i diversi tipi di unioni.

Ma come aspirante o professionista della scienza dei dati, dovresti avere una solida comprensione di cosa sono i join SQL e come funzionano. crema, lo userai molto se l'industria della scienza dei dati recupera e manipola rapidamente i dati presenti in tabelle diverse.

join-sql-4406020

In questo articolo, mostrerò che i join sql sono davvero facili da imparare. Prima capiremo cosa sono i join SQL e poi esamineremo i quattro diversi tipi di join che dovrai padroneggiare..

Vuoi imparare le basi di cos'è SQL e come può essere applicato nella scienza dei dati?? Guarda il corso popolare SQL per la scienza dei dati.

Cosa sono i join SQL??

Rispondiamo prima alla domanda da un milione di dollari prima di esaminare i diversi tipi di join in SQL.

Prenderò un esempio intuitivo per spiegare cosa sono i join SQL. Considera queste due collezioni:

1-5-300x153-2674159

Diciamo che il cerchio blu rappresenta l'insieme di tutti i bambini (BAMBINI) e il grigio rappresenta l'insieme di persone che amano vedere giocare Messi (MESSI). Come procederei se volessimo il set di tutti i ragazzi che amano vedere giocare Messi??

C'è un modo molto procedurale per affrontare questo problema:

  • Primo, seleziona tutti i diversi identificatori dalla tabella di Messi che rappresentano la query interna di seguito
  • Prendi ogni ID dalla tabella dei ragazzi e confrontalo con questo set.
  • Se l'ID corrisponde a uno di essi, quindi genera quella riga dalla tabella Boys

Questo è abbastanza simile al concetto di "ciclo for"’ e si chiama sottoselezione in SQL.

SELEZIONARE * A PARTIRE DAL RAGAZZI
DOVE ID È IN (SELEZIONARE DISTINTO ID A PARTIRE DAL MESSI);

Ma in SQL, c'è un altro modo per affrontare questo problema.

Per iniziare a capire le combinazioni, dobbiamo prima avere una prospettiva diversa su ciò che vogliamo veramente. Nella terminologia consolidata: vogliamo il intersezione di BOYS e MESSI. In termini grafici, questo è espresso come:

img1-300x193-8693146

Ci interessa la parte celeste, verità? Questa parte, o la interno parte (traccia), Sono tutti i ragazzi che amano vedere Messi. Tutto ciò che dobbiamo fare ora è esprimerlo in SQL:

SELEZIONARE * A PARTIRE DAL RAGAZZI
INTERNO ADERIRE MESSI
SU RAGAZZI.id = MESSI.id;

guarda che cosa (interno) unisciti fa? Non potrebbe essere più facile! Questo è l'approccio intuitivo su come capire le combinazioni.

Nota: I diagrammi di Venn non vengono applicati direttamente a SQL perché gli elementi nelle raccolte (Le tavole) non sono identici. Ma perché si riferiscono l'uno all'altro, possiamo usare i diagrammi di Venn per capire meglio il concetto.

Diversi tipi di join in SQL

Ora. Lo estenderemo al quadro generale e conosceremo i diversi tipi di join SQL. Considera le seguenti tabelle di esempio:

selezione_162-2674429

1. INNER JOIN in SQL

Questo è ciò che abbiamo trattato nella sezione precedente. Inner Join restituisce record che hanno valori corrispondenti in entrambe le tabelle:

interno-300x237-1785551

Vediamo qual è l'output utilizzando l'esempio sopra:

SELEZIONARE * A PARTIRE DAL RAGAZZI INTERNO ADERIRE MESSI
SU RAGAZZI.id = MESSI.id;

PRODUZIONE:

selezione_163-4866670

Come ho detto precedentemente, inner join dà l'intersezione di due tabelle, vale a dire, righe comuni in entrambe le tabelle.

2. GIUNTO DESTRO (esterno) e SQL

Supponiamo di volere l'identificazione e il nome di tutte le persone che amano vedere giocare Messi. Ovviamente, ci sono molti modi per scrivere questa query, ma lo capiremo con l'aiuto dei sindacati.
destra-300x221-6808244

Vediamo qual è l'output:

SELEZIONARE  *  A PARTIRE DAL RAGAZZI GIUSTO ADERIRE MESSI 
SU RAGAZZI.id = MESSI.id;

PRODUZIONE:

selezione_164-6575760

Puoi scoprire cosa è successo qui?? Il join esterno destro ci fornisce le righe comuni in entrambe le tabelle, così come righe aggiuntive dal tavolo di Messi che non sono presenti all'incrocio. In altre parole, un join destro restituisce tutti i record della tabella di destra e i record corrispondenti della tabella di sinistra.

3. SINISTRA (Esterno) UNISCITI a SQL

Diciamo che vogliamo l'elenco di tutti i ragazzi che amano guardare Messi giocare e non amano vedere Messi giocare indossando le maglie..

sinistra-300x212-7384950

Voglio che indovini il risultato finale prima di continuare a leggere.

SELEZIONARE  *  A PARTIRE DAL RAGAZZI SINISTRA ADERIRE MESSI
SU RAGAZZI.id = MESSI.id;

PRODUZIONE:

selezione_165-1571438

Il join esterno sinistro ci fornisce le righe comuni in entrambe le tabelle, così come righe aggiuntive della tabella Ragazzi che non sono presenti nell'intersezione. In altre parole, un join sinistro restituisce tutti i record della tabella di sinistra e i record corrispondenti della tabella di destra.

4. Unione completa (ESTERNO) e SQL

Finalmente, diciamo che vogliamo l'elenco di tutte le persone, compresi i bambini che amano guardare Messi giocare.

completo-300x202-3724756

Sono sicuro che ormai conosci già la risposta!!

SELEZIONARE  *  A PARTIRE DAL RAGAZZI ESTERNO COMPLETO ADERIRE MESSI
SU RAGAZZI.id = MESSI.id;

PRODUZIONE:

selezione_166-8467922

Perfetto! Un join esterno completo ci fornisce le righe comuni in entrambe le tabelle, così come righe aggiuntive da entrambe le tabelle che non sono presenti all'intersezione. Otteniamo tutti i record quando c'è una corrispondenza nella tabella di sinistra o di destra.

Note finali

Vuoi scoprire come SQL può essere utilizzato nella scienza dei dati?? Consiglio vivamente di dare un'occhiata a questo fantastico corso: Structured Query Language (SQL) per la scienza dei dati.

Se hai domande o commenti su questo articolo, fammi sapere nella sezione commenti qui sotto e sarò felice di entrare in contatto con te.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.