oracle知识点

1、null 问题:  不能比较   is null  is not null  not is null

    select ename,sal,comm from emp where

             comm is null;

             comm is not null;

             not (comm  is  null);


2、distinct去重

    select distinct deptno from emp;    //查询 所有的雇员 存在的部门编号

    select distinct mgr from emp;        //查询 上级、部门经理人的编号


3、

--"" 原样输出: 区分大小 包含空格

--'' 字符串

    select ename as 雇员名称,sal as "SAl",comm "co mm"  from emp;


4、

--any some all

--any 任意一个  >=any() 大于等于最小值  <=any()  最大值

--some 与any相同

    select ename,job,sal from emp where sal>=any(800,1000,3000);

--all 所有  >=all()  大于等于最大值  

    select ename,job,sal from emp where sal>=all(800,1000,3000);


5、

-- null 不参与运算  注意顺序

--存在记录先求出800,再比较null

    select ename,job,sal from emp where sal>=all(800,null);

--不存在记录  先比较null,没有记录

    select ename,job,sal from emp where sal>=all(null,800);


6、

集合:and:交集 or:并集 not :补集


--intersect==and

    select ename,deptno,sal from emp where sal=800 and deptno =20;

    select ename,deptno,sal from emp where sal=800

Intersect

    select ename,deptno,sal from emp where  deptno =20;


--union==or

    select ename,sal from emp where sal =800 or sal =3000;

    select ename,sal from emp where sal =800 union

    select ename,sal from emp where sal =3000;


--not ==!

    select * from emp where deptno!=20;

    select * from emp where not deptno=20;


--union与union all的区别   (union 去除重复)(union all 累加)

    select * from emp where sal =800  union

    select * from emp where deptno=20;


    select * from emp where sal =800  union all

    select * from emp where deptno=20;


--minus  差集 保留不重复数据

    select * from emp where deptno=20

minus

    select * from emp where sal =800 ;


7、模糊查询

    select * from emp where ename like '%A%';(包含 A字符的 雇员信息)

    select * from emp where ename like '_A%';(第二个字符为 A 的 雇员信息)


    (添加记录)

    insert into emp(empno,ename,deptno,sal) values(1000,'t_est%test',20,9999);

    commit;

    select * from emp;


    select * from emp where ename like '%y%%' escape 'y';(雇员姓名中包含 %字符的 雇员信息)



8、

  1)、

    in(list),not in(list):多个定值 查询

    select * from emp where sal in(800,1000,3000);

    select * from emp where deptno in (select deptno from dept where dname='SALES');


  2)、

exists(sub-query):难点   只要条件为真|存在记录,即返回记录

while(外层记录){

   while(内层记录){

          if(没有条件为true |符合内层与外层的条件){

                       syso();

                       break;

          }

   }

}


  3)、

in 即使已经找到记录,后面的查找还会继续


while(emp 符合条件的记录|所有的记录){

        if(sal ==800){ syso(); }

        if(sal ==1000){ syso();}

        if(sal=3000){ syso(); }

}


    select ename, deptno from emp e where e.sal>2000 and exists (select deptno from dept d     where  deptno=20 and e.deptno != d.deptno);


    select ename, deptno from emp e where e.sal>2000 and exists (select deptno from dept d         where  dname=upper('sales') and e.deptno = d.deptno);



  4)、

    (where 中不能使用 当前层的  select 里面的别名或者伪列)


     select * from (select ename, sal s from emp) where s>2000;(查询工资大于2000的雇员信息)


    年薪==(sal+nvl(comm,0))*12

    查询年薪 大于30000的雇员名称

     select * from (select ename,(sal+nvl(comm,0))*12 income from emp ) where income>30000;


9、排序

    order by 可以使用别名和伪列

    1、升序 默认 asc 、 降序  desc

    2、多个字段排序 ,

    3、null 问题 默认:升序 在后 ,降序在前

          1)、手动控制  : null -->-1

          2)、程序:


  1)、查询所有的雇员信息,按工资升序显示

    select * from emp order by sal asc;


  2)、查询所有的雇员信息,按工资降序显示 ,工资相同 ,按佣金升序

    select * from emp order by sal desc , comm asc;



10、总结


  1)、三范式: 设置主键、主键依赖、消除传递依赖

  2)、SQL分类: DML( select insert  update delete )

             DDL(create alter drop rename truncate)

             DCL(grant revoke commit rollback)

  3)、DML 之select

      select  from  where  order by

      1)、解析:  from where  select order by

      2)、exists


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Oracle是一种基于关系数据库管理系统的软件,广泛用于各种企业级应用程序中。以下是一些常见的Oracle知识点: 1.关系数据库:Oracle是一种关系型数据库管理系统,它使用表结构来存储和组织数据。每个表包含行和列,行表示记录,列表示数据字段。 2.SQL语言:Oracle使用结构化查询语言(SQL),它是一种用于管理和操作数据库的标准语言。使用SQL,可以通过查询、插入、更新和删除实现对数据的操作。 3.索引和约束:为了提高查询性能和数据完整性,Oracle支持创建索引和约束。索引可以加快数据查询的速度,约束可以限制表中数据的有效性。 4.透明数据加密:为了保护数据的安全性,Oracle提供了透明数据加密功能。通过对数据库进行加密,可以确保数据在传输和存储过程中的安全性。 5.备份和恢复:为了防止数据丢失和系统故障,Oracle提供了备份和恢复功能。可以通过数据库备份来保存数据,并在需要时恢复到先前的状态。 6.并发控制:Oracle使用并发控制机制来处理多个用户同时访问数据库的场景。通过锁定机制和事务管理,可以确保数据的一致性和完整性。 7.故障排除和性能优化:在遇到数据库故障或性能问题时,需要进行故障排除和性能优化。Oracle提供了一系列工具和技术来诊断和解决这些问题。 8.数据库安全:Oracle提供了各种安全措施来保护数据库的安全性。例如,访问控制、身份验证和审计功能,都可以用于防止未经授权的访问和滥用。 9.高可用性:为了确保系统的可用性,Oracle支持高可用性解决方案,如数据复制、故障切换和负载均衡。这些功能可以在系统故障时自动切换,保证业务的连续性。 总之,Oracle是一个功能强大、可靠稳定的关系型数据库管理系统,具有广泛的应用领域和丰富的功能特性。以上只是其中一些常见的知识点,使用Oracle需要不断学习和掌握更多的知识和技巧。 ### 回答2: 以下是300字中文对Oracle知识点的罗列: 1. 数据库管理系统(DBMS):Oracle是一种关系型数据库管理系统,用于存储和管理大量的结构化数据,支持SQL查询语言。 2. 数据库对象:Oracle数据库中的核心对象包括表、索引、视图、序列、存储过程等,用于组织和操作数据。 3. 数据库表:Oracle中的表是数据的基本存储单位,由列(字段)组成,每个列具有特定的数据类型和约束。 4. SQL语言:Oracle使用SQL(Structured Query Language)语言进行数据操作和查询,包括数据的插入、更新、删除和查询等操作。 5. 数据库事务:Oracle支持事务处理,可以确保数据的一致性和完整性。事务是一系列数据库操作的逻辑单元,要么全部执行,要么全部回滚。 6. 数据库连接与用户管理:Oracle支持多用户环境,每个用户都可以拥有自己的数据库对象和权限。管理员可以管理用户帐户和权限。 7. 数据库备份和恢复:Oracle提供备份和恢复机制,可以定期备份数据库以保护数据安全,并在需要时进行恢复操作。 8. 数据库性能优化:Oracle提供了各种性能优化技术和工具,包括索引、分区、查询优化器等,以提高数据库的查询和操作速度。 9. 数据库安全:Oracle提供了多层次的安全机制,包括用户身份验证、权限控制、数据加密等,以保护数据库中的数据免受未经授权的访问。 10. 高可用性和故障恢复:Oracle支持集群和灾备技术,以确保数据库的高可用性和故障恢复能力,包括故障切换、数据冗余和自动恢复等。 总结:以上是对Oracle的一些核心知识点的简要罗列,涵盖了数据库管理、对象、SQL语言、事务、用户管理、备份恢复、性能优化、安全和高可用性等方面的内容。这些知识点对于理解和使用Oracle数据库至关重要,并帮助提升数据库管理和应用开发的效率和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值