Esercitazione MySQL

MySQL HOME Introduzione a MySQL MySQL RDBMS

MySQL SQL

MySQL SQL SELEZIONA MySQL MySQL DOVE MySQL E, O, NON MySQL ORDINA PER MySQL INSERT IN Valori NULL MySQL AGGIORNAMENTO MySQL MySQL DELETE LIMITE MySQL MySQL MIN e MAX MySQL COUNT, AVG, SOMMA MySQL MI PIACE Caratteri jolly MySQL MySQL IN MySQL TRA alias MySQL MySQL si unisce MySQL INNER JIN MySQL ha lasciato il join MySQL GIUSTO UNISCITI MySQL CROSS JIN MySQL Self Join MySQL UNION MySQL GRUPPO PER MySQL AVENDO MySQL ESISTE MySQL QUALSIASI, TUTTO SELEZIONA INSERTO MySQL CASO MySQL Funzioni null di MySQL Commenti MySQL Operatori MySQL

Database MySQL

MySQL Crea DB MySQL Drop DB MySQL Crea tabella MySQL Drop Table MySQL Alter tabella Vincoli MySQL MySQL non nullo MySQL unico Chiave primaria MySQL Chiave esterna MySQL Controllo MySQL MySQL predefinito MySQL Crea indice Incremento automatico di MySQL Date MySQL Viste MySQL

Riferimenti MySQL

Tipi di dati MySQL Funzioni MySQL

Esempi MySQL

Esempi MySQL Quiz MySQL Esercizi MySQL

MySQL si unisce


Tabelle di unione MySQL

Una JOINclausola viene utilizzata per combinare righe di due o più tabelle, in base a una colonna correlata tra di loro.

Diamo un'occhiata a una selezione dalla tabella "Ordini":

OrderID CustomerID OrderDate
10308 2 1996-09-18
10309 37 1996-09-19
10310 77 1996-09-20

Quindi, guarda una selezione dalla tabella "Clienti":

CustomerID CustomerName ContactName Country
1 Alfreds Futterkiste Maria Anders Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Mexico
3 Antonio Moreno Taquería Antonio Moreno Mexico

Si noti che la colonna "CustomerID" nella tabella "Ordini" fa riferimento al "CustomerID" nella tabella "Clienti". La relazione tra le due tabelle precedenti è la colonna "CustomerID".

Quindi, possiamo creare la seguente istruzione SQL (che contiene un INNER JOIN), che seleziona i record che hanno valori corrispondenti in entrambe le tabelle:

Esempio

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

e produrrà qualcosa del genere:

OrderID CustomerName OrderDate
10308 Ana Trujillo Emparedados y helados 9/18/1996
10365 Antonio Moreno Taquería 11/27/1996
10383 Around the Horn 12/16/1996
10355 Around the Horn 11/15/1996
10278 Berglunds snabbköp 8/12/1996

Tipi di join supportati in MySQL

  • INNER JOIN: restituisce i record che hanno valori corrispondenti in entrambe le tabelle
  • LEFT JOIN: restituisce tutti i record dalla tabella di sinistra e i record corrispondenti dalla tabella di destra
  • RIGHT JOIN: restituisce tutti i record dalla tabella di destra e i record corrispondenti dalla tabella di sinistra
  • CROSS JOIN: restituisce tutti i record da entrambe le tabelle

MySQL INNER JIN  MySQL ha lasciato il join  MySQL GIUSTO UNISCITI  MySQL CROSS JIN


Mettiti alla prova con gli esercizi

Esercizio:

Inserire le parti mancanti nella JOINclausola per unire le due tabelle Orderse Customers, utilizzando il CustomerIDcampo in entrambe le tabelle come relazione tra le due tabelle.

SELECT *
FROM Orders
LEFT JOIN Customers
=
;