Em relação a expressões complexas utilizando AND E OR na mesma expressão
Em um consulta básica
Select * from tabela where campo1 = campo2or campo2 = campo3 or campo4 = campo4 or campo5 = campo4 and campo6 = campo2
levando e conta a ordem de precedência, seria avaliado primeiro campo5 = campo4 and campo6 = campo2
Ou seria avaliado da esquerda para direita, mas nessa caso a precedência não estaria correto como exemplo abaixo(parênteses nesse caso só para ilustrar avaliação ).
Select * from tabela where (campo1 = campo2or campo2 = campo3 or campo4 = campo4 or campo5 = campo4) and campo6 = campo2