Aby uzupełnić resztę odpowiedzi tutaj, które dotyczą głównie wartości NULL i COALESCE/NVL/NVL2:
SELECT *
FROM TheTable
WHERE field1 = CASE field2 WHEN 0 THEN 'abc' WHEN 1 THEN 'def' ELSE '' END
Oświadczenia CASE nie są oczywiście tak zwięzłe, ale są nastawione na elastyczność. Jest to szczególnie przydatne, gdy twoje warunki nie są oparte na NULL-ness.