集合操作
.UNION:连接两个查询,相同部分不显示;(并)
.UNION ALL:连接两个查询,相同的部分也显示;
.INTERSECT:返回两个查询中的相同部分;(交)
.MINUS:返回两个查询中的不同部分。(差)
为了验证以上的操作,下面创建一张只包含20部门雇员信息表:Create table emp20 as select * from emp where deptNO=20;
范例:验证UNION
select * from emp
UNION
select * from emp20;
范例:验证UNION ALL
select * from emp
UNION ALL
select * from emp20;
范例:验证INTSERSECT
select * from emp
INTERSECT
select * from emp20;
范例:验证MINUS
select * from emp
MINUS
select * from emp20;
----------------------------------------------
序列(有自动增长的功能)
序列的创建形式:Create sequence 序列名
(increment by n| start with n)
(maxvalue| nomaxValue)
(minvalue| nominValue)
(cycle| nocycle)
(cache| nocache)
范例:创建一个mysql的序列,严整自动增长的操作。
create sequence mysql;
序列创建完成后,所有自动增长应该由用户自己处理,所以在序列中提供了两种操作方式:
.nextVar:取得序列的下一个内容
.currVar:取得序列的当前内容
删除序列:drop sequence 序列名;
重新建立序列并指定序列增长幅度: Create sequence mysql2 increment by 3;
create table testseq( next number, curr number);
insert into testseq(next, curr) values(mysql2.nextVal, mysql2.currVal);
--------------------------------------------------
实际上:同义词可以让其他用户通过一个名称来访问“用户名.表名称".
创建同义词:Create synonym 同义词名 for 用户名.表名。
删除同义词:drop synonym 同义名称
----------这些特性只适合oracle.------------
system/manager sys/change_on_install scott/tiger
drop sequence myseq;
create sequence myseq maxValue 10 increment by 2 start with 1 cache 2 cycle;
select sysdate from dual;
conn system/manager;
conn sys/change_on_install as sysdba;
-------------------------------------------