CASE WHEN 其实相当于产生了一个列,最后WHERE 再按那个列来限定
SELECT * AS A FROM TB WHERE CASE WHEN 1=1 THEN 1 ELSE 0 END =1
-- 等价于
SELECT * FROM (SELECT * ,CASE WHEN 1=1 THEN 1 ELSE 0 END AS A FROM TB) T WHERE A=1
本文深入探讨了SQL中CASEWHEN语句的作用及其与WHERE子句的结合使用,通过实例说明了如何利用CASEWHEN生成新的列,并通过WHERE子句进行筛选,为读者提供了理解和应用这一高级查询技巧的实用指南。
CASE WHEN 其实相当于产生了一个列,最后WHERE 再按那个列来限定
SELECT * AS A FROM TB WHERE CASE WHEN 1=1 THEN 1 ELSE 0 END =1
-- 等价于
SELECT * FROM (SELECT * ,CASE WHEN 1=1 THEN 1 ELSE 0 END AS A FROM TB) T WHERE A=1
1万+
6298
5981

被折叠的 条评论
为什么被折叠?
