0
点赞
收藏
分享

微信扫一扫

6-6 Oracle表复杂查询 -合并查询-增删改数据

Oracle基础知识整理:C站下载链接

1 Oracle 基础知识

2 Oracle 安装(附详细安装操作手册)

3 Oracle 基本使用

4 Oracle 用户管理

6 -1Oracle 表的管理-创建修改表

6-2 Oracle 表的管理-表查询

6-3 Oracle 表的管理-表复杂查询

6-4 Oracle表复杂查询 -多表查询

6-5 Oracle表复杂查询 -子查询


文章目录

  • 6 Oracle 表的管理
  • 6.5 oracle表的管理 -表查询(重点)
  • 6.5.5 Oracle表复杂查询 --合并查询
  • 6.6 oracle表的管理 -添加数据
  • 6.7 oracle表的管理 -修改数据
  • 6.8 oracle表的管理 -删除数据


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;


举报

相关推荐

0 条评论