Я согласен с AlexKuznetsov по этому вопросу, но я бы также добавил, что если ваш запрос (независимо от того, насколько он более сложный) ограничен в случаях предложения WHERE
, которые существуют вCASE
, тогда эти CASE
s никогда не будут возвращены и не должны выбираться в первую очередь.
Например, вы устанавливаете d
в '6', где a
равен '2', затем ограничивается WHERE d = 6
, поэтому вы можете вместо этого сделать:
SELECT a,b,c,
6 AS d
FROM some_table
WHERE a = 2
Это вернет те же результаты в более оптимизированном и чистом виде.Вот почему, ИМХО, нет смысла ссылаться на производный столбец.