SQL里if语句和case语句有什么区别吗?哪个使用更高效?就是查询更优化?

2024-12-04 10:33:54
推荐回答(2个)
回答(1):

if 是条件判断语句 不能在 查询语句中出现,case 是条件检索 可以再查询中出现

回答(2):

if 作为条件判断,一般用在存储过程或者函数里面;
譬如
if sqlstate ='02000' then
select xxx from tab

case是作为判断,用在查询当中
select id, case when id = 1 then 'one' else 'null' end

高效两个没有可比性,深究一点,都是一个逻辑判断,然后出结果,所以旗鼓相当,没必要在这个问题上探究性能问题