Tipi di join in mysql

 

La cross join è concettualmente la più semplice, ma raramente trova applicazione in quanto è difficile che abbia un senso logico: si tratta del “prodotto cartesiano” di due tabelle. In pratica, ogni riga della prima tabella viene combinata con tutte le righe della seconda. Ipotizzando di avere una tabella di 5 righe e una di 6, il risultato sarà una tabella di 30 righe.

La inner join si effettua andando a cercare righe corrispondenti nelle due tabelle, basandosi sul valore di determinate colonne.
Immaginiamo, in un esempio classico, di avere una tabella ordini e una tabella clienti. Diciamo che la prima contiene le colonne idOrdine, idCliente, articolo, quantità mentre la seconda contiene idCliente, nome, cognome.

Le outer join, come le inner join, vengono effettuate in base alla corrispondenza di alcuni valori sulle tabelle. La differenza è che, nel caso delle outer join, è possibile estrarre anche le righe di una tabella che non hanno corrispondenti nell’altra.