As partes ALL e NOT são muito simples, basta encadeá-las com ANDs:
SELECIONE X DE Y ONDE A E B E C E NÃO d E E E NÃO E.
E os ORs vão entre:
SELECIONE X DE Y ONDE ((a AND b AND c) AND (d OR e OR f)) AND NOT g AND NOT h
substitua números pequenos por comparações e pronto. Então, se você quiser fazer isso em código, classifique suas condições e, em seguida, encadeie-as como uma String. Tenha cuidado para evitar SQL-Insertions.