Oracle has strict context rules for expressions. For example, you cannot use aggregate functions in WHERE clauses (need HAVING), and certain expressions are prohibited in DEFAULT values, CHECK constraints, or some DDL statements. Expression validity depends on the SQL clause context.