SQL join vengono utilizzati per combinare righe da due o più tabelle.
SQL JOIN
Una clausola SQL JOIN è usato per combinare righe da due o più tabelle, basata su un campo comune tra loro.
Il tipo più comune di join è: SQL INNER JOIN (join semplice). Un SQL INNER JOIN restituisce tutte le righe da più tabelle in cui ricorrono i condizione di join.
Diamo un'occhiata a una selezione della "Orders" tabella:
ID ordine | Identificativo del cliente | Data dell'ordine |
---|---|---|
10308 | 2 | 1996-09-18 |
10309 | 37 | 1996-09-19 |
10310 | 77 | 1996-09-20 |
Quindi, dare un'occhiata a una selezione della "Customers" tabella:
Identificativo del cliente | Nome del cliente | Nome del contatto | Nazione |
---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Mexico |
3 | Antonio Moreno Taqueria | Antonio Moreno | Mexico |
Si noti che il "CustomerID" colonna nella "Orders" tabella si riferisce alla "CustomerID" in "Customers" tavolo. La relazione tra le due tabelle di cui sopra è il "CustomerID" colonna.
Poi, se si corre la seguente istruzione SQL (che contiene un join interno):
Esempio
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM
Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
Prova tu stesso " esso produrrà qualcosa di simile a questo:
ID ordine | Nome del cliente | Data dell'ordine |
---|---|---|
10308 | Ana Trujillo Emparedados y helados | 9/18/1996 |
10365 | Antonio Moreno Taqueria | 11/27/1996 |
10383 | Around the Horn | 12/16/1996 |
10355 | Around the Horn | 11/15/1996 |
10278 | Berglunds snabbkop | 8/12/1996 |
Diverso SQL JOIN
Prima di continuare con gli esempi, verranno elencate le tipologie delle diverse SQL join è possibile utilizzare:
- INNER JOIN : restituisce tutte le righe quando vi è almeno una partita in entrambe le tabelle
- LEFT JOIN : Ritorno tutte le righe della tabella di sinistra, e le righe corrispondenti dalla tabella di destra
- RIGHT JOIN : Ritorno tutte le righe della tabella di destra, e le righe corrispondenti dalla tabella sinistra
- FULL JOIN : Return all rows quando c'è una partita in uno dei tavoli