Oracle基础复习day1
1、空值
- oracle中的空值不为0,是无效的;
- 包含空值的数学表达式的值,都是无效的,所以在处理空值的数学表达式时,建议使用nvl(para, 0 )进行处理;
2、列的别名
- 可以使用AS关键字后跟随别名指定, select empno [as] 别名 ,默认别名自动大写显示,如果需要按照指定别名显示,则用双引号修饰别名字符串;
3、字符串连接,使用“ || ” 字符串
4、where 语句
- between a in b : 条件在a和b之间;
- in (set) : 判断是否在集合中;
- like : 模糊查询 ,% 代表零个或多个字符(任意个字符) 例: where ename like 's%' 大小写敏感 ,可以使用escape关键回避特殊字符;
- _ 代表一个字符; 如果需要让'\' 、'%' 表现为自己的原字符,则需要转义字符,语句为 like 'aa\_%' escape '\ ' , 则是能查找到aa_任意字符 的条件;
5、排序 order by
- 根据列名排序 order by colName [desc] , 默认为升序,desc为降序;
- 可以按照别名排序 select sal, (12 * sal + comm) total from emp order by total;
- 多列排序, 则按照order by 后声明的列顺序, 相同的则按照往下条件继续排序; order by sal , ename , .. ;
6、 函数
- 单行函数,例:
LOWER('char'):字符全部小写
UPPER('char'):字符全部大写
INITCAP('char'):单词首字母大写
7、条件判断
CASE
DECODE
CASE
job WHEN 'PRESIDENT' THEN 2*nvl(sal,0)
WHEN 'MANAGER' THEN 1.5*nvl(sal,0)
ELSE 1.2*nvl(sal,0)
END "IMPROVE SAL"
DECODE
DECODE(job,
'PRESIDENT' ,2*nvl(sal,0),
'MANAGER' , 1.5*nvl(sal,0),
1.2*nvl(sal,0)
) "IMPROVE SAL"
8、组函数
- AVG()
- COUNT() : COUNT( DISTINCT colName) 计算不重复的行数
- MAX()
- MIN()
- SUM()
顾名思义的函数,自动忽略空值进行计算,如果需要计算空值,则先用nvl函数进行计算
9、分组数据/统计 group by
查询语句顺序。