in Excel SQL esistono questi tipi di join:

tipi di JOIN:


ON ALIAS1.`CAMPO COMUNE 1` = ALIAS2.`CAMPO COMUNE 2`


se si vuole selezionare invece i record non presenti in entrambe le tabelle si usa una sintassi speciale
in pratica i record esclusi da INNER JOIN
(vedi SQL - elementi - query - SELECT - unioni - JOIN - differenze)


schema tipi di Join
image004.jpg


sintassi



FULL OUTER o CROSS JOIN
dato che Excel non accetta FULL OUTER o CROSS JOIN per crearli si fa un LEFT OUTER JOIN UNION RIGHT OUTER JOIN
si usa UNION (attento usa UNION non UNION ALL per togliere i doppioni)



sintassi Join mutipli:
attento: Excel non accetta join mutipli, cioé più join nella stessa query di seguito
per fare join mutipli occorre includere un join dentro l'altro e così via


SELECT

.....

FROM
(
SELECT
....

FROM
....

JOIN primo join
....
ON ....

) ALIAS1

JOIN secondo join
.....
ON ALIAS1.CAMPO = ALIAS2.CAMPO



sintassi LEFT Join per usare una seconda tabella come LOOKUP
nel caso si ha una tabella con i dati ma si vuole trovare un dato in un campo legato a uno della tabella dei dati di origine
é come fare una formula LOOKUP in Excel


SELECT

TABELLADATI.`campo origine`,
LOOKUP.`campo trovato`,


FROM
(
SELECT
`campo origine`,

FROM `TABELLA1$`

WHERE ....

) TABELLADATI

LEFT OUTER JOIN
(
SELECT
DISTINCT `campo origine`,
`campo trovato`

FROM `TABELLA2$`

) LOOKUP

ON TABELLADATI.`campo origine` = LOOKUP.`campo origine`