例えば下記のように複雑な条件に基づいてレコードを抽出する場合、WHERE を使うと残念なことになります。 SELECT T.id, ( CASE WHEN /*難解極まりない条件1*/ false THEN 1 WHEN /*難解極まりない条件2*/ false THEN 2 WHEN /*難解極まりない条件3*/ false THEN 3 ELSE 0 END ) AS stat FROM tbl T WHERE ( CASE WHEN /*難解極まりない条件1*/ false THEN 1 WHEN /*難解極まりない条件2*/ false THEN 2 WHEN /*難解極まりない条件3*/ false THEN 3 ELSE 0 END ) = 2 とても保守性が低いと思います。 WHERE を無くして stat を使用してアプリケーションレイヤーで絞り込むことも出来ますが、そうす