Esercitazione SQL

SQL HOME Introduzione SQL Sintassi SQL Seleziona SQL SQL Seleziona distinto SQL dove SQL e, o, no Ordina SQL per Inserisci SQL in Valori nulli SQL Aggiornamento SQL Elimina SQL SQL Seleziona in alto SQL Min e Max Conteggio SQL, media, somma Mi piace SQL Caratteri jolly SQL SQL In SQL tra Alias ​​SQL Join SQL Join interno SQL Join sinistro SQL SQL Right Join SQL Full Join SQL Self Join Unione SQL Raggruppamento SQL per SQL Avere SQL esiste SQL Qualsiasi, Tutti SQL Seleziona in Inserisci SQL in Seleziona Caso SQL Funzioni SQL Null Stored procedure SQL Commenti SQL Operatori SQL

Database SQL

SQL Crea DB SQL Drop DB DB di backup SQL SQL Crea tabella Tabella di rilascio SQL SQL Alter tabella Vincoli SQL SQL non nullo SQL unico Chiave primaria SQL Chiave esterna SQL Controllo SQL SQL predefinito Indice SQL Incremento automatico SQL Date SQL Viste SQL SQL Injection Hosting SQL Tipi di dati SQL

Riferimenti SQL

Parole chiave SQL Funzioni MySQL Funzioni di SQL Server Funzioni di accesso MS Riferimento rapido SQL

Esempi SQL

Esempi SQL Quiz SQL Esercizi SQL Certificato SQL

Parola chiave SQL JOIN

❮ Riferimento alle parole chiave SQL


UNIONE INTERNA

Il INNER JOINcomando 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 JOINcomando 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 JOINparola 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 JOINcomando 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 JOINparola 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 JOINcomando 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 JOINparola 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