Las partes TODO y NO son muy simples, solo las encadenas con AND:
SELECCIONE X DE Y DONDE a Y b Y c Y NO d Y e Y NO e.
Y los OR van entre:
SELECCIONE X DE Y DONDE ((a Y b Y c) Y (d O e O f)) Y NO g Y NO h
reemplace los números pequeños con comparaciones y listo. Entonces, si desea hacer esto en el código, ordene sus condiciones y luego simplemente encadene como una cadena. Tenga cuidado de evitar las inserciones de SQL.