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

Parola chiave MySQL CROSS JOIN


Parola chiave SQL CROSS JOIN

La CROSS JOINparola chiave restituisce tutti i record di entrambe le tabelle (table1 e table2).

MySQL CROSS JIN

Sintassi CROSS JOIN

SELECT column_name(s)
FROM table1
CROSS JOIN table2;

Nota: CROSS JOIN può potenzialmente restituire set di risultati molto grandi!


Database dimostrativo

In questo tutorial utilizzeremo il noto database di esempio Northwind.

Di seguito una selezione dalla tabella "Clienti":

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

E una selezione dalla tabella "Ordini":

OrderID CustomerID EmployeeID OrderDate ShipperID
10308 2 7 1996-09-18 3
10309 37 3 1996-09-19 1
10310 77 8 1996-09-20 2


Esempio di MySQL CROSS JOIN

La seguente istruzione SQL seleziona tutti i clienti e tutti gli ordini:

Esempio

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
CROSS JOIN Orders;

Nota: la CROSS JOINparola chiave restituisce tutti i record corrispondenti da entrambe le tabelle indipendentemente dal fatto che l'altra tabella corrisponda o meno. Quindi, 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.

Se aggiungi una WHEREclausola (se table1 e table2 hanno una relazione), CROSS JOINprodurrà lo stesso risultato della INNER JOINclausola:

Esempio

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
CROSS JOIN Orders
WHERE Customers.CustomerID=Orders.CustomerID;