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:
- Unione interna/unione semplice
- Join esterno sinistro / Join sinistro
- Giunzione esterna destra / Giunzione destra
- Join esterno completo
- Unione incrociata
- 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:
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.
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.
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:
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.
RIGHT JOIN o RIGHT Outer 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:
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.
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:
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.
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
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.
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;>