if 是条件判断语句 不能在 查询语句中出现,case 是条件检索 可以再查询中出现
if 作为条件判断,一般用在存储过程或者函数里面;譬如 if sqlstate ='02000' thenselect xxx from tab case是作为判断,用在查询当中select id, case when id = 1 then 'one' else 'null' end 高效两个没有可比性,深究一点,都是一个逻辑判断,然后出结果,所以旗鼓相当,没必要在这个问题上探究性能问题