The main motivation for this rule is to improve the readability of relevant SQL code. From one database optimiser to another, the performance of
IN
and OR
clauses to specify a list of possible values for a column can be slightly different, but this difference is
usually very minor. What is not minor is the difference in readability between the two styles, which is why an IN
clause is
preferred.
Noncompliant code example
SELECT * FROM PERSONS
WHERE AGE = 10 OR AGE = 13 OR AGE = 18 OR AGE < 5
Compliant solution
SELECT * FROM PERSONS
WHERE AGE IN (10, 13, 18) OR AGE < 5