English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Possiamo usare 'join incrociato' senza condizioni. Il join incrociato restituisce i risultati in forma di prodotto cartesiano. Ad esempio, se una tabella ha 3 record e un'altra tabella ha 2 record, il primo record corrisponderà a tutti i record della seconda tabella. Poi, viene ripetuto lo stesso processo per il secondo record, e così via.
Crea la prima tabella
mysql> CREATE table ForeignTableDemo - > ( - > Id int, - > Nome varchar(100), - > FK int - > );
Crea la seconda tabella
mysql> CREATE table PrimaryTableDemo - > ( - > FK int, - > Indirizzo varchar(100), - > chiave primaria(FK) - > );
mysql> ALTER table ForeignTableDemo add constraint FKConst foreign key(FK) references PrimaryTableDemo(FK); Records: 0 Duplicati: 0 Avvisi: 0
Aggiungi i record alla seconda tabella.
mysql> INSERT into PrimaryTableDemo values(1,'US'); mysql> INSERT into PrimaryTableDemo values(2,'UK'); mysql> INSERT into PrimaryTableDemo values(3,'Unknown');
Mostra i record della seconda tabella.
mysql> SELECT * from PrimaryTableDemo;
Di seguito è riportato l'output della query sopra menzionata.
+----+---------+ | FK | Indirizzo | +----+---------+ | 1 | US | | 2 | UK | | 3 | Sconosciuto | +----+---------+ 3 righe nel set (0.00 sec)
Aggiungi i record alla prima tabella.
mysql> INSERT into ForeignTableDemo values (1, 'John', 1); mysql> INSERT into ForeignTableDemo values (2, 'Bob', 2);
Mostra i record utilizzando il comando SELECT.
mysql> SELECT * from ForeignTableDemo;
Ecco l'output.
+------+------+-+------ | Id | Nome | FK | +------+------+-+------ | 1 | John | 1 | | 2 | Bob | 2 | +------+------+-+------ 2 righe nel set (0.00 sec)
Abbiamo applicato vincoli di chiave esterna a tutte le tabelle. Ora, per utilizzare il "cross join" senza ON, vediamo la sintassi.
mysql> SELECT ForeignTableDemo.Id, ForeignTableDemo.Name, PrimaryTableDemo.Address - > from ForeignTableDemo - > cross join PrimaryTableDemo;
Questo è l'output.
+------+------+-+---------+ | Id | Nome | Indirizzo | +------+------+-+---------+ | 1 | John | US | | 2 | Bob | US | | 1 | John | UK | | 2 | Bob | UK | | 1 | John | Sconosciuto | | 2 | Bob | Sconosciuto | +------+------+-+---------+ 6 righe nel set (0.00 sec)