Cross join

12 / 100

Una cross joincartesian join o product fornisce le basi (le infrastrutture informatiche) attraverso cui tutti i tipi di inner join operano. Il risultato di una cross join è il prodotto cartesiano di tutte le righe delle tabelle che concorrono alla query di join. È come dire che stiamo facendo una inner join senza impostare la regola di confronto o in cui la regola di confronto ritorna sempre vero.

Date le due tabelle di partenza A e B, la cross join si scrive A × B.

Esempio di cross join esplicito:

SELECT *
FROM   Impiegati CROSS JOIN Dipartimenti

Altro esempio implicito di cross join:

SELECT *
FROM   Impiegati, Dipartimenti;
Impiegati.CognomeImpiegati.ID_dipartimentoDipartimenti.Nome_dipartimentoDipartimenti.ID_dipartimento
Rossi31Vendite31
Bianchi33Vendite31
Mancini33Vendite31
Monti34Vendite31
Santoro34Vendite31
GrassiNullVendite31
Rossi31Tecnico33
Bianchi33Tecnico33
Mancini33Tecnico33
Monti34Tecnico33
Santoro34Tecnico33
GrassiNullTecnico33
Rossi31Risorse umane34
Bianchi33Risorse umane34
Mancini33Risorse umane34
Monti34Risorse umane34
Santoro34Risorse umane34
GrassiNullRisorse umane34
Rossi31Promozione35
Bianchi33Promozione35
Mancini33Promozione35
Monti34Promozione35
Santoro34Promozione35
GrassiNullPromozione
Translate »