il secondo ti da un prodotto cartesiano ... uno contro tutti per ogni condizione messa.
Ragionala un attimo...
La prima seleziona i campi in base a tre AND. Massimizziamo il comportamento con indicazioni di fantasia...
prende tutti i dati che corrispondono alla prima condizione where e li mette in una tabella temporanea. Ora applica, a questa ipotetica tabella temporanea, le restrizioni della seconda AND di where e li mette in una seconda ipotetica tabella temporanea. Siamo alla terza condizione che verra' applicata per ottenere il risultato richiesto.
Prova ora a fare lo stesso ragionamento con la tua seconda query e capirai da solo.....
Mette in una tabella temporanea tutti i dati diversi. poi per ogni record mette tutti i dati diversi della seconda condizione, e poi mettera' tutti i dati diversi, per ogni record, della terza condizione... ovunque e' diverso risulta vera la AND.
Credo di essermi spiegato.... In questo caso dovresti usare OR e non AND.
![]()