Salve ragazzi stavo facendo uno script per filtrare una colonna di una tabella eccolo:

codice:
SELECT CODICE
FROM contactPr_magazzino
INNER JOIN contactPr_contatti ON contactPr_magazzino.CHILOHA = contactPr_contatti.ID
AND marchio LIKE '%lero%'
AND codice LIKE '%ERm%'
WHERE LOWER( collezione ) LIKE '%maga%'
OR LOWER( marchio ) LIKE '%maga%'
OR LOWER( codice ) LIKE '%maga%'
ORDER BY contactPr_magazzino.ID
LIMIT 0 , 100
Il codice funziona è tutto ok , però non è errato? non dovrebbe essere cosi?

codice:
SELECT CODICE
FROM contactPr_magazzino
INNER JOIN contactPr_contatti ON contactPr_magazzino.CHILOHA = contactPr_contatti.ID
WHERE LOWER( collezione ) LIKE '%maga%'
OR LOWER( marchio ) LIKE '%maga%'
OR LOWER( codice ) LIKE '%maga%'
AND marchio LIKE '%lero%'
AND codice LIKE '%ERm%'
ORDER BY contactPr_magazzino.ID
LIMIT 0 , 100

se metto i 2 AND dopo or non funziona non capisco il perchè , and non dovrebbe andare dopo lo where?