Un saluto a tutto il forum.
Ho dato un'occhiata al reference manual di MySql ma non essendo granchè pratico con l'inglese non ne sono venuto a capo.
In pratica quando è più corretto usare INNER JOIN e quando LEFT JOIN?![]()
Un saluto a tutto il forum.
Ho dato un'occhiata al reference manual di MySql ma non essendo granchè pratico con l'inglese non ne sono venuto a capo.
In pratica quando è più corretto usare INNER JOIN e quando LEFT JOIN?![]()
INNER JOIN ti rende solo le uguaglianze richieste tra le due tabelleOriginariamente inviato da Mixio
Un saluto a tutto il forum.
Ho dato un'occhiata al reference manual di MySql ma non essendo granchè pratico con l'inglese non ne sono venuto a capo.
In pratica quando è più corretto usare INNER JOIN e quando LEFT JOIN?![]()
FROM TAB1 a
INNER JOIN TAB2 b ON a.id = b.id
ed equivale a scrivere:
FROM TAB1 a, TAB2 b
WHERE a.id = b.id
mentre LEFT JOIN rende tutti i record della tabella di SX anche se non ci sono corrispondenze nella tabella di DX. Dove la tabella di SX e' la prima elencata, cioe' quella descritta in FROM.
Nel caso di mancata corrispondenza del dato richiesto nella tabella di DX, questa rendera' NULL.
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Quindi scusami per capire meglio.
In caso di INNER JOIN ottengo solo i record che soddisfino la condizione ON, invece con LEFT JOIN ottengo in qualsiasi caso un numero di record pari alla prima tabella e vengono uniti alla prima solo quelli della condizione ON.
Ho capito bene? :master:
Si, vengono resi tutti i record della tabella di SX con LEFT JOIN oppure tutti quelli della tabella di DX con RIGHT JOIN.Originariamente inviato da Mixio
Quindi scusami per capire meglio.
In caso di INNER JOIN ottengo solo i record che soddisfino la condizione ON, invece con LEFT JOIN ottengo in qualsiasi caso un numero di record pari alla prima tabella e vengono uniti alla prima solo quelli della condizione ON.
Ho capito bene? :master:
La tabella opposta rendera' solo le uguaglianze richieste in ON e NULL in caso di mancanza di corrispondenza. La ricerca dovrebbe poi essere puntualizzata da una condizione WHERE per ridurre le righe in output del result-set.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
ok grazie Piero.![]()