distinct 去除重复数据 可修饰多个字段 去掉重复的组合
where过滤条件 > < <> = >= <= and between and is null is not null in(取值)
like加通配符 %代表0个或多个 _代表一个字母 可以使用转义字符 \ 也可自定义转义字符 比如
select ename , sal from emp where ename like '%$%%' escape '$'; 语句中的$就是转义字符 查询出名字中带有%的柜员与其薪水。
order by 排序 asc 或者不写是默认的升序排列 倒序 desc 可以一起排序多个字段 比如
select ename ,sal , depton from emp where depton = 10 order by depton asc ,ename desc ; 查询出depton为10切 depton按升序后ename再按倒序排列
select ename ,sal*12 annual_sal from emp
where ename not like '_A%' and sal>800
order by sal desc
函数 lower() 全部转换成小写 upper() 全部转换成大写 substr(ename,2,3)截取字符串 从第二个字符开始截取 一个截取三个 chr(65)编码求字符 ascii('A')字符求编码
round(23.456) 四舍五入到个位数 round(23.456,2)四舍五入从小数点后第三位开始 还可以写-1
to_char() 把日期转换成字符串 to_char(hiredate,'YYYY-MM-DD HH:MI:SS') to_char(sysdate ,'YYYY-MM-DD HH24:MI:SS')
to_date() 把特定的字符串转换成日期 select ename , hiredate from emp where hiredate > to_date('1981-2-20 12:34:56','YYYY-MM-DD HH24:MI:SS');
to_number 把特定格式数字转换成字符串 select sal from emp where sal > to_number('$1,250.00','$9,999.99');
nvl() 处理空值的 select ename , sal*12 + nvl(comm*12,0) from emp;
组函数: max()最大值 min()最小值 sum()和 count()记录总数 avg()平均值
select '各部门工资总和',e.deptno||' ',sum(e.sal) from emp e group by e.deptno
union all
select '各岗位工资总和',e.job||' ',sum(e.sal) from emp e group by e.job
union all
select '雇员总工资',,sum(e.sal) from emp e
select e.deptno , e.job ,sum(e.sal) from emp e group by grouping sets((e.deptno),(e.job),(null));