CASE WHEN和decode的使用

1.在查询中尽量不要使用“*”
2.多表查询时多使用别名(AS)
3.条件查询多使用WHERE,尽量避免使用HAVING
4.计算时不用索引列(select * from emp where sal+500>1000 ×select * from emp where sal>500
5.指定查询范围时多使用IN(select * from emp where id=1001 or id =1002 × select * from emp where id in (1001,1002)
6.使用TRUNCATE清空表中记录
7.及时提交事务
8.多使用EXISTS和NOT EXISITS语句判断条件(select * from emp where deptid in (select id from dept where deptname='信息部') × select * from emp where deptid exists (select id from dept where deptname='信息部')
9.使用大写字母代替小写字母
10.尽量不使用不等号(使用不等号不会使用到索引)
11.尽量不想hi用NULL关键字判断空(IS NULL和IS NOT NULL不会使用索引查询)
12.使用ROWID去除表中的重复值

select name,
       decode(sex, 0, '女', '男') as 性别,
       (case sex when 0 then '女' 
       when 1 then '男' end) as sex
       ,(case  when age>=30 then '超过30岁的老师' when age < 30 then '低于30岁的老师' end )as 年龄情况
  from teacher

猜你喜欢

转载自jin8000608172.iteye.com/blog/1847733