赞
踩
1、coalesce函数:合并,coalesce(值1,值2,值3……),返回第一个不为null的值;
2、coalesce和ifnull的区别,ifnull只有两个参数,返回第一个不为null的参数
3、if和casewhen的区别:case 字段 when 条件 then 结果1 else 结果2 end
在score表中,sex为1表示男性,sex=0表示女性,查询时转换成汉字显示。
语句为:case score when 0 then '女' else '男' end
3、case when 条件表达式:千万不要忘记写end
- CASE
- WHEN condition THEN result1 ELSE result2
- END
-
- SELECT name,score,(CASE
- WHEN score>=90 THEN '优秀'
- WHEN score>=80 THEN '良好'
- WHEN score>=60 THEN '及格'
- ELSE '不及格' END) level
- FROM score
-
-
- select name,score,
- sum(case when sex = 0 then 1 else 0 end) as '女生人数',
- sum(case when sex = 1 then 1 else 0 end) as '男生人数',
- sum(case when score >60 and sex = 0 then 1 else 0 end) as '女生及格人数',
- sum(case when score > 60 and sex = 1 then 1 else 0 end) as '男生及格人数'
- from score

4、和聚合函数一起使用:统计女生人数,统计男生人数
5、nvl函数:nvl(表达式1,表达式2),如果表达式1不为空,则返回表达式1,如果表达式1为空,则返回表达式2,表达式1和2必须是同一种数据类型,可以是数字型,字符型,和日期型,字段2
数字型:NVL(comm,1)
字符型:NVL(TO_CHAT(comm),‘No Commission’)
日期型:NVL(hiredate,‘31-DEC-99’)
例如: NVL(comm,1)
如果comm为空,就返回1。如果 comm 不为空(null),就返回表达式 comm的值;
6、decode函数:decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)
比如,decode(Name,'其他其他',1,'其他',15,'其他的',16) as type,这个比casewhen更简单,但是casewhen更加灵活
7、navicat 下自动插入数据更新时间,设置的数据类型一定要是timestamp,函数可以是now,也可以是 current _stamp或者current_time
时间函数:
select now();
select CURRENT_DATE;
select CURRENT_TIME;
select CURRENT_TIMESTAMP;
select CURRENT_TIME(precision);
select CURRENT_TIMESTAMP(precision);
select LOCALTIME;
select LOCALTIMESTAMP;
select LOCALTIME(precision);
select LOCALTIMESTAMP(precision);
8、create table tmp_result_01 as select xxx把查询结果放入新表中
9、group by 1
10、update更新的时候发现了一个错误:这个报错说找不到a列,看了很久不知道a列是啥,就是不能set那个表的列,不用加a.,不然在表里找不到这个列,后面的可以用a.
这次还犯了一个错误,就是update那个表,必须是这个表的列,一开始连这个也弄错了,还有注意引用表的时候尽量少用join,不然就容易搞混,直接引用表,然后用where条件来连接,
11、自连接查询重复数据
- select a.*,b.*
- from table_1 a left join table_1 b
- on a.name = b.name
- -- 如果只有以上的步骤会出现俩条重复数据,用下面的编号去限制一下,就可以去重
- where a.id>b.i
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。