logo

Tipi di SQL JOIN

UNISCITI SQL

Un SQL Join viene utilizzato per recuperare o combinare dati (righe o colonne) da due o più tabelle in base alle condizioni definite.

Tabella 1: Ordine

ID ordine Identificativo del cliente NomeOrdine Nome del prodotto
12025 101 Peter ABC
12030 105 Roberto XYX
12032 110 Giacomo XYZ
12034 115 Andrea PQR
12035 120 Matteo AAA

Tabella 2: Cliente

Identificativo del cliente Nome del cliente Paese
100 Disordinato Maxico
101 Principe Taiwan
103 Maria Fernandez Tacchino
105 Gelsomino Parigi
110 Faf Donnola Indonesia
120 Razzo di Roma Russia

Ora abbiamo due tabelle Ordine e il Cliente . C'è un Identificativo del cliente colonna comune in entrambe le tabelle. Quindi, scrivi la query SQL per definire la relazione generale per selezionare i record delle corrispondenze da entrambe le tabelle.

 Select Order.OrderID, Customer.CustomerName, Customer.Country, Order.ProductName from Order INNER JOIN Customer ON Order.CustomerID = Customer.CustomerID; 

Dopo aver eseguito quanto sopra SQL query, produce il seguente output:

ID ordine Nome del cliente Paese Nome del prodotto
12025 Principe Taiwan ABC
12030 Gelsomino Parigi XYX
12032 Faf Donnola Indonesia XYZ
12035 Razzo di Roma Russia AAA

Tipi di join SQL

Esistono diversi tipi di join utilizzati in SQL:

  1. Unione interna/unione semplice
  2. Join esterno sinistro / Join sinistro
  3. Giunzione esterna destra / Giunzione destra
  4. Join esterno completo
  5. Unione incrociata
  6. Auto-adesione

Unione interna

L'inner join viene utilizzato per selezionare tutte le righe o colonne corrispondenti in entrambe le tabelle o finché la condizione definita è valida in SQL.

Sintassi:

 Select column_1, column_2, column_3 FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column; 

Possiamo rappresentare l'inner join attraverso il diagramma di Venn, come segue:

Tipi di SQL JOIN

Tabella 1: Studenti

ID_studente Nome dello studente Soggetto ID insegnante
101 Alessandra Informatica T201
102 Carlo Economia T202
103 Tom Cruise Informatica T201
104 Aaron Finch Elettronica T203
105 Seme Bajoff Progettazione web T204
106 Cristoforo Letteratura inglese T205
107 Denim Stilista di moda T206

Tabella 2: Insegnanti

ID insegnante Nome dell'insegnante InsegnanteE-mail
T201 Signor Davis [e-mail protetta]
T202 La signora Jonas [e-mail protetta]
T201 Signor Davis [e-mail protetta]
T204 La signora López [e-mail protetta]
T205 La signora Wiley [e-mail protetta]
T206 Signor Bean [e-mail protetta]

Abbiamo due tabelle: Studenti e il Insegnanti Tabelle. Scriviamo le query SQL per unirci alla tabella utilizzando il file UNIONE INTERNA come segue:

 Select Student_ID, StudentName, TeacherName, TeacherEmail FROM Students INNER JOIN Teachers ON Students.TeacherID = Teachers.TeacherID; 

Dopo aver eseguito la query, produce la tabella seguente.

Tipi di SQL JOIN

Unione naturale

È un tipo di tipo interno che unisce due o più tabelle in base allo stesso nome di colonna e presenta lo stesso tipo di dati presente su entrambe le tabelle.

Sintassi:

 Select * from tablename1 Natural JOIN tablename_2; 

Abbiamo due tabelle: Studenti e il Insegnanti Tabelle. Scriviamo le query SQL per unirci alla tabella utilizzando il file ISCRIVITI naturale come segue:

 Select * from Students Natural JOIN Teachers; 

Dopo aver eseguito la query precedente, produce la seguente tabella.

Tipi di SQL JOIN

SINISTRA UNISCITI

IL SINISTRA UNISCITI viene utilizzato per recuperare tutti i record dalla tabella di sinistra (tabella1) e le righe o colonne corrispondenti dalla tabella di destra (tabella2). Se entrambe le tabelle non contengono righe o colonne corrispondenti, restituisce NULL.

Sintassi:

 Select column_1, column_2, column(s) FROM table_1 LEFT JOIN table_2 ON table_1.column_name = table_2.column_name; 

Possiamo anche rappresentare il left join attraverso il diagramma di Venn, come segue:

Tipi di SQL JOIN

Nota: in alcuni database, LEFT JOIN è noto anche come LEFT OUTER JOIN.

Tabella 1: Dettagli_prodotto

Codice prodotto Nome del prodotto Quantità
Pro101 Computer portatile 56000
Pro102 Mobile 38000
Pro103 Cuffie 5000
Pro104 Televisione 25000
Pro105 iPad 60000

Tabella 2: Dettagli_cliente

come concatenare le stringhe in Java
Nome del cliente IndirizzoCliente CustomerAge Codice prodotto
Martin Guptil San Francisco, Stati Uniti 26 Pro101
Giacomo Australia 29 Pro103
Ambati Williamson Nuova Zelanda 27 Pro102
Jofra Arciere Sud Africa 24 Pro105
Kate Wiley Australia venti Pro103

Abbiamo due tabelle: Dettagli del prodotto e il Dettagli cliente Tabelle. Scriviamo le query SQL per unirci alla tabella utilizzando il file SINISTRA UNISCITI come segue:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

Dopo aver eseguito la query, produce la seguente tabella.

Tipi di SQL JOIN

IL ISCRIVITI GIUSTO viene utilizzato per recuperare tutti i record dalla tabella di destra (tabella2) e le righe o colonne corrispondenti dalla tabella di sinistra (tabella1). Se entrambe le tabelle non contengono righe o colonne corrispondenti, restituisce NULL.

Sintassi:

 Select column_1, column_2, column(s) FROM table_1 RIGHT JOIN table_2 ON table_1.column_name = table_2.column_name; 

Possiamo anche rappresentare il giusto join attraverso il diagramma di Venn, come segue:

Tipi di SQL JOIN

Nota: in alcuni database, il RIGHT JOIN è noto anche come RIGHT OUTER JOIN.

Tabella 1: Dettagli_prodotto

ID Nome del prodotto Quantità
Pro101 Computer portatile 56000
Pro102 Mobile 38000
Pro103 Cuffie 5000
Pro104 Televisione 25000
Pro105 iPad 60000

Tabella 2: Dettagli_cliente

Nome del cliente IndirizzoCliente CustomerAge Codice prodotto
Martin Guptil San Francisco, Stati Uniti 26 Pro101
Giacomo Australia 29 Pro103
Ambati Williamson Nuova Zelanda 27 Pro102
Jofra Arciere Sud Africa 24 Pro105
Presagio Inghilterra 29 Pro107
Morgan Inghilterra venti Pro108

Abbiamo due tabelle: Dettagli del prodotto e il Dettagli cliente Tabelle. Scriviamo le query SQL per unirci alla tabella utilizzando il file ISCRIVITI GIUSTO come segue:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

Dopo aver eseguito la query, produce la tabella seguente.

Tipi di SQL JOIN

FULL JOIN o FULL OUTER JOIN:

È un set di risultati combinato di entrambi SINISTRA UNISCITI E ISCRIVITI GIUSTO . Le tabelle unite restituiscono tutti i record di entrambe le tabelle e se non viene trovata alcuna corrispondenza nella tabella, inserisce NULL. È anche chiamato a JOIN ESTERNO COMPLETO .

Sintassi:

 Select column_1, column_2, column(s) FROM table_1 FULL JOIN table_2 ON table_1.column_name = table_2.column_name; 

O, JOIN ESTERNO COMPLETO

 Select column_1, column_2, column(s) FROM table_1 FULL OUTER JOIN table_2 ON table_1.column_name = table_2.column_name; 

Possiamo anche rappresentare l'outer join completo attraverso il diagramma di Venn, come segue:

Tipi di SQL JOIN

Tabella 1: Dettagli_prodotto

ID Nome del prodotto Quantità
Pro101 Computer portatile 56000
Pro102 Mobile 38000
Pro103 Cuffie 5000
Pro104 Televisione 25000
Pro105 iPad 60000

Tabella 2: Dettagli_cliente

Nome del cliente IndirizzoCliente CustomerAge Codice prodotto
Martin Guptil San Francisco, Stati Uniti 26 Pro101
Giacomo Australia 29 Pro103
Ambati Williamson Nuova Zelanda 27 Pro102
Jofra Arciere Sud Africa 24 Pro105
Presagio Inghilterra 29 Pro107
Morgan Inghilterra venti Pro108

Abbiamo due tabelle: Dettagli del prodotto e il Dettagli cliente Tabelle. Scriviamo le query SQL per unirci alla tabella utilizzando il file PIENO ISCRIVITI come segue:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details FULL JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

Dopo aver eseguito la query, produce la tabella seguente.

Tipi di SQL JOIN

Nota: MySQL non supporta i concetti FULL JOIN, quindi possiamo utilizzare la clausola UNION ALL per combinare entrambe le tabelle.

Ecco la sintassi per UNIONE TUTTI Clausola per unire le tabelle.

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID UNION ALL Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details RIGHT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID 

Tipi di SQL JOIN

UNIONE INCROCIATA

È anche noto come GIUNTO CARTESIANO , che restituisce il prodotto cartesiano di due o più tabelle unite. IL UNIONE INCROCIATA produce una tabella che unisce ogni riga della prima tabella con ogni seconda riga della tabella. Non è necessario includere alcuna condizione in CROSS JOIN.

Sintassi:

 Select * from table_1 cross join table_2; 

O,

 Select column1, column2, column3 FROM table_1, table_2; 

Tabella 1: Dettagli_prodotto

ID Nome del prodotto Quantità
Pro101 Computer portatile 56000
Pro102 Mobile 38000
Pro103 Cuffie 5000
Pro104 Televisione 25000
Pro105 iPad 60000

Tabella 2: Dettagli_cliente

sottolineare usando css
Nome del cliente IndirizzoCliente CustomerAge Codice prodotto
Martin Guptil San Francisco, Stati Uniti 26 Pro101
Giacomo Australia 29 Pro103
Ambati Williamson Nuova Zelanda 27 Pro102
Jofra Arciere Sud Africa 24 Pro105
Presagio Inghilterra 29 Pro107
Morgan Inghilterra venti Pro108

Abbiamo due tabelle: Dettagli del prodotto e il Dettagli cliente Tabelle. Scriviamo le query SQL per unirci alla tabella utilizzando il file PIENO ISCRIVITI come segue:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details, Customer_Details; 

Dopo aver eseguito la query, produce la tabella seguente.

Tipi di SQL JOIN

ISCRIVITI AUTOMATICAMENTE

È un SELF JOIN utilizzato per creare una tabella unendosi come se ci fossero due tabelle. Effettua la denominazione temporanea di almeno una tabella in un'istruzione SQL.

Sintassi:

 Select column1, column2, column(s) FROM table_1 Tbl1, table_2 Tbl2 WHERE condition; 

Tabella 1 E Tbl2 sono due alias di tabella diversi per la stessa tabella.

Tabella 1: Dettagli_prodotto

ID Nome del prodotto Quantità
Pro101 Computer portatile 56000
Pro102 Mobile 38000
Pro103 Cuffie 5000
Pro104 Televisione 25000
Pro105 iPad 60000

Scriviamo le query SQL per unirci alla tabella utilizzando il file ISCRIVITI AUTOMATICAMENTE come segue:

 Select TB.ID, TB.ProductName FROM Product_Details TB, Product_Details TB2 WHERE TB.AMOUNT <tb2.amount; < pre> <p>After executing the query, it produces the below table. </p> <img src="//techcodeview.com/img/sql-tutorial/44/types-sql-join-12.webp" alt="Types of SQL JOIN"> <hr></tb2.amount;>