首页 > 数据库 >6-6 Oracle表复杂查询 -合并查询-增删改数据

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

时间:2023-08-30 12:31:48浏览次数:38  
标签:sal 查询 增删 job student Oracle where

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;


标签:sal,查询,增删,job,student,Oracle,where
From: https://blog.51cto.com/u_15067771/7290318

相关文章

  • mysql学习教程篇(二)——基础查询和条件查询
    1.基础查询#进阶1:基础查询/*语法:select查询列表from表名;类似于:System.out.println(打印东西);特点:1、查询列表可以是:表中的字段、常量值、表达式、函数2、查询的结果是一个虚拟的表格*/USEmyemployees;#1.查询表中的单个字段SELECTlast_nameFROMemploy......
  • Oracle客户端与Oracle数据库兼容矩阵
    Oracle客户端与Oracle数据库之间是有兼容支持关系的,有些低版本的OracleClient连接到高版本的数据库是不支持的,其实Oracle官方文档Client/ServerInteroperabilitySupportMatrixforDifferentOracleVersions(DocID207303.1)[1]中有详细的介绍,如果你要升级数据库的话或......
  • thinkphp5 日期+group by + 分页paginate查询
    <?php//根据日期来统计所消耗的点数//模型的使用方法$result=$model->field("id,FROM_UNIXTIME(createtime,'%Y-%m-%d')as`createtime`,sum(price)ascount_price")->group("FROM_UNIXTIME(createtime,'%Y-%m-%d'),store......
  • 查询col1列重复值所在行
    df_test=pd.DataFrame({'col1':['A']*2+['B'],'col2':range(3)})#查询col1列重复值所在行df_test.col1.duplicated()#首次出现不算重复df_test.query("col1.duplicated()")#只能筛选出非首次出现的重复值所在行#方法一df_test.duplicated(sub......
  • 查询lob对象的表和字段
    colownerformata20colobject_idformat99999999colobject_nameformata30colobject_typeformata30colcolumn_nameformata30coltable_nameformata30setlinesize170selecto.owner,o.object_id,o.object_name,o.object_type,l.table_name,l.colum......
  • SqlServer中查询数据库所有表及其数据总条数和占用空间
    1、查询某数据库中的所有数据表SELECTname数据表FROMsysobjectsWHERExtype='u'ORDERBYname2、查询某数据库中的所有数据表及其数据总条数SELECTa.name数据表,b.rows数据总条数FROMsysobjectsASaINNERJOINsysindexesASbONa.id=......
  • Oracle查看占用表空间最大的表(排序)
    selectt.owner,t.segment_name,t.tablespace_name,bytes/1024/1024/1024assizes,q.num_rows,t.segment_type fromdba_segmentst leftjoindba_tablesq   ont.segment_name=q.table_name  andt.owner=q.owner wheret.segment_type='TABLE'  andt.tab......
  • Mysql查询性能优化相关
    慢查询基本原因访问的数据太多分析是否检索了过多的数据。mysql服务器是否在分析大量超过需要的数据。注意事项尽量不用select*分页查询(mysql从设计上让连接和断开连接都是很轻量级的。运行多个小查询不是大问题)缓存效率高减少锁竞争查询的执行基础查询执行......
  • redis高级用法:慢查询、pipline与事务、发布订阅、bitmap位图、HyperLogLog、GEO地理位
    目录一高级用法之慢查询1.1生命周期1.2两个配置1.2.1slowlog-max-len1.2.2slowlog-max-len1.3设置慢查询1.5作用二pipline与事务2.1什么是pipeline(管道)2.2python客户端实现pipline2.3与原生操作对比2.4使用建议2.5原生redis操作操作事务三发布订阅3.1角色3.2模......
  • Oracle PDB配置SID访问
    1、lsnrctlstatus 确保PDB容器监听正常 2、确保PDB容器读写正常sqlplus/assysdbashowpdbs; 3、修改tnsname.ora文件cd /opt/oracle/product/19c/dbhome_1/network/adminvitnsnames.ora(追加,保持原有内容不变,在后面追加下面内容)ORA19CPDB=(DESCRIPTION......