Oracle数据库基础(一)

       Oracle 是一个数据库管理系统,是Oracle公司的核心产品。其在数据安全性与安整性控制方面的优越性能,以及跨操作系统、跨硬件平台的数据操作能力。基于“客户端/服务器”(Client/Server)系统结构。

主要特点:

  1.支持多用户、大事务量的事务处理。

  2.在保持数据安全性和完整性方面性能优越。

  3.支持分布式数据处理。将公布在不同物理位置的数据库用通信网络连接起来,组成一个逻辑上统一的数据库,完成

数据处理任务。

  4.具有可移植性。Oracle可以在Windows、Linux等多个操作系统平台上使用。

创建一个备份表并放入主表的数据

create table fage_01 select * from 主表

将备份表扔到原始表

insert into faqs(name,no)

select name,no from faqs_1

获取所有列的值,启动子查询

select * from emp

where empname in(

select empname from emp

group by empname

having count(empname)=1


 查询排名第五位的信息的示例

select * from(
  select emp.*,rownum rn
 from(
   select * from emp
 order by sal desc
  )emp

)where rn=5

分页示例
select * from(
select emp.*,rownum rn
from(
select * from emp
order by sal desc
 )emp
 where rownum<=6

)where rn>=4

集合操作符

集合操作符专门用于合并多条select 语句的结果,包括:UNION, UNION ALL, INTERSECT, MINUS。当使用集合操作符时,必须确保不同查询的列个数和数据类型匹配。

        集合操作符具有以下注意事项:

  • 集合操作符不适用于LOB、VARRAY和嵌套表列。
  • UNION、INTERSECT、MINUS操作符不使用于 LONG列。
  • 如果选择列表中包含有表达式或者函数,那么必须为表达式或者函数定义列别名。

1、UNION (联合):当执行UNION 时,自动去掉结果集中的重复行,并以第一列的结果进行升序排序。

2、UNION ALL (联合所有):不去掉重复行,并且不对结果集进行排序。

3、INTERSECT  (交集):取两个结果集的交集,并且以第一列的结果进行升序排列。

      select   id,name,job  from worker 
      INTERSECT
      select  empno,ename,job  fromemp;

4、MINUS  (减集):只显示在第一个集合中存在,在第二个集合中不存在的数据。并且以第一列的结果进行升序排序。

5、另外,可以使用order by

     order  by 必须放在最后一条select 语句之后,当列名相同时,可以直接用列名排序,如果不同可以用位置排序,也可以使用别名使其相同。

    select  id, name  x from new_emp 
    union all  
    select  empno, ename  x from emp order by x;//列名不同时使用别名排序

   select  id, name  ename from new_emp 
   union all  
   select  empno, ename  from emp order by ename;//列名不同时使用别名使其相同后排序

   select  id, name  ename from new_emp 
   union all
   select  empno,ename  from emp;//合并后列名显示以前一个表为主。

猜你喜欢

转载自blog.csdn.net/qq_39799629/article/details/83786497