6 Oracle 表的管理
6.5 oracle表的管理 -表查询(重点)
6.5.5 Oracle表复杂查询 --合并查询
·合并查询
有时在实际应用中,为了合并多个select语句的结果,可以使用集合操作符号 union
,union all
,intersect
,minus
1)union
该操作符用于取得两个结果集的并集,当使用该操作符时,=
select ename,sal,job from emp where sal>2500 union select ename,sal,job from emp where job='manager';
2)union all
该操作与union
相似,但是它不会取消重复行,而且不会排序。
select ename,sal,job from emp where sal>2500 union all select ename,sal,job from emp where job='MANAGER';
该操作符用于取得两个结果集的并集,当使用该操作符时,不会自动去掉结果集中重复行。
3)intersect
使用该操作符用于取得两个结果集的交集。
select ename,sal,job from emp where sal>2500 intersect select ename,sal,job from emp where job='MANAGER';
4)minus
使用该操作符用于取得两个结果集的差集,它只会显示存在第一个集合中,而不存在第二个集合中的数据。
select ename,sal,job from emp where sal>2500 minus select ename,sal,job from emp where job='MANAGER';
集合操作远远比and和or操作速度快的多
6.6 oracle表的管理 -添加数据
·所有字段都插入
insert into student values('A001','张三','男','01-5月-05',10);
·Oracle中默认的日期格式“DD-MON-YY” dd日子(天) mon 月份 yy2位的年 ‘09-6月-99’ 1999年6月9日
·修改日期的默认格式
alter session set nls_date_format ='yyyy-mm-dd';
国家语言支持(National Language Support)
修改后,可以用我们熟悉的格式添加日期类型:
insert into student values('A002','MIKE','男','1905-05-06',10);
·插入部分字段
insert into student(xh,xm,sex) values('A003','JOHN','女');
·插入空值
insert into student(xh,xm,sex,birthday) values('A004','MARTIN','男',null);
·查询没有生日的学生
select * from student where birthday is null;
6.7 oracle表的管理 -修改数据
·改一个字段
update student set sex='女' where xh='A001';
·修改多个字段
update student set sex='男',
birthday='1980-04-01' where xh='A001'
·修改含有null值的数据
6.8 oracle表的管理 -删除数据
·删除数据
delete from student;
删除所有记录,表结构还在,写日志,可以恢复的
·恢复被删除的数据的方法:
savepoint aa;//在删除之前先保存一个点
delete from student;//删除student中数据
rollback to aa;//回滚数据
·删除表的结构和数据(不能恢复数据)
drop table student;
·删除一条记录
delete from student where xh='A001';
·删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快
truncate table student;
标签:精通,入门,sal,job,emp,student,Oracle,where,select
From: https://blog.51cto.com/u_15067771/6307413