0516_Oracle操作
null
null与数字进行运算,结果为null
null与字符串运算结果不会改变原串
处理null值 nvl(字段,值2) 如果字段值1位null,给你值2,如果值1不为null,给你值1
条件查询
select *|字段1,字段2.. from 表名 where 行过滤条件;
执行顺序 from---where---select
= 、 >、 <、 >=、 <=、 !=、 <>、
and 、or、 not , between and
Union All,全集(不去重)
like 模糊查询 %任意个任意字符 _任意一个字符
查找名字中带有%的用户
select * from emp where ename like '%C%%' escape('C'); --任意指定转义字符,需要使用escape() 中说明
exists 存在即保留 存在即合法
select * from emp where exists (select * from dept where dname='SALES');
获取所有行记录
select * from emp;
select * from emp where 1=1;
排序 order by desc 降序 asc升序
from--where--select--order by
事务
commit;
rollback;
函数
日期函数
sysdate/current_date 以date类型返回当前的日期
add_months(d,x) 返回加上x月后的日期d的值
LAST_DAY(d) 返回的所在月份的最后一天
months_between(date1,date2) 返回date1和date2之间月的数目
next_day(sysdate,'星期一') 下周星期一
转换函数
to_date(c,m)
字符串以指定格式转换为日期
to_char(d,m)
日期以指定格式转换为字符串
组函数
count()
sum()
max()
min()
avg()
分组
group by 分组字段
select *|字段.. from 表名 where 行过滤条件 group by 分组字段 having 组过滤信息 order by 排序字段
执行流程:from--where--group by--having--select--order by
行转列
decode
decode(字段,字段值1,值2,字段值2,值3..,默认值)根据某个字段进行判断
打印所用的部门名称,如果10,添加一个伪列,显示对应部门的大写名称
select deptno,decode(deptno,10,'十',20,'二十',30,'三十','其他') from dept;
case when then else end
select ename,
sal,
deptno,
(case deptno
when 10 then
sal * 1.1
when 20 then
sal * 1.08
when 30 then
sal * 1.15
else
sal * 1.2
end) raisesal
from emp;
![03760e7c9ed3924dd891983dd88ff0a5.png](https://img-blog.csdnimg.cn/img_convert/03760e7c9ed3924dd891983dd88ff0a5.png)
![90211d35993d53996a668dd688c3de64.png](https://img-blog.csdnimg.cn/img_convert/90211d35993d53996a668dd688c3de64.png)
![078c739553a4de2016ddfd2634d60201.png](https://img-blog.csdnimg.cn/img_convert/078c739553a4de2016ddfd2634d60201.png)
![039bd3d2b4e661fb43c7f980c3e92aec.png](https://img-blog.csdnimg.cn/img_convert/039bd3d2b4e661fb43c7f980c3e92aec.png)