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;//合并后列名显示以前一个表为主。