Parola chiave SQL JOIN
❮ Riferimento alle parole chiave SQL
UNIONE INTERNA
Il INNER JOIN
comando restituisce le righe che hanno valori corrispondenti in entrambe le tabelle.
Il seguente SQL seleziona tutti gli ordini con le informazioni sui clienti:
Esempio
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN
Customers ON Orders.CustomerID = Customers.CustomerID;
Nota: la parola chiave INNER JOIN seleziona tutte le righe da entrambe le tabelle purché vi sia una corrispondenza tra le colonne. Se ci sono record nella tabella "Ordini" che non hanno corrispondenze in "Clienti", questi ordini non verranno mostrati!
La seguente istruzione SQL seleziona tutti gli ordini con le informazioni sul cliente e sul mittente:
Esempio
SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM
((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);
UNISCITI A SINISTRA
Il LEFT JOIN
comando restituisce tutte le righe dalla tabella di sinistra e le righe corrispondenti dalla tabella di destra. Il risultato è NULL dal lato destro, se non c'è corrispondenza.
Il seguente SQL selezionerà tutti i clienti e tutti gli ordini che potrebbero avere:
Esempio
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
Nota: la LEFT JOIN
parola chiave restituisce tutti i record della tabella di sinistra (Clienti), anche se non ci sono corrispondenze nella tabella di destra (Ordini).
GIUSTO UNISCITI
Il RIGHT JOIN
comando restituisce tutte le righe dalla tabella di destra e i record corrispondenti dalla tabella di sinistra. Il risultato è NULL dal lato sinistro, quando non c'è corrispondenza.
Il seguente SQL restituirà tutti i dipendenti e tutti gli ordini che potrebbero aver effettuato:
Esempio
SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;
Nota: la RIGHT JOIN
parola chiave restituisce tutti i record della tabella di destra (Dipendenti), anche se non ci sono corrispondenze nella tabella di sinistra (Ordini).
UNIONE ESTERNA COMPLETA
Il FULL OUTER JOIN
comando restituisce tutte le righe quando c'è una corrispondenza nella tabella sinistra o nella tabella destra.
La seguente istruzione SQL seleziona tutti i clienti e tutti gli ordini:
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
Nota: la FULL OUTER JOIN
parola chiave restituisce tutte le righe della tabella di sinistra (Clienti) e tutte le righe della tabella di destra (Ordini). Se ci sono righe in "Clienti" che non hanno corrispondenze in "Ordini" o se ci sono righe in "Ordini" che non hanno corrispondenze in "Clienti", verranno elencate anche quelle righe.
❮ Riferimento alle parole chiave SQL