分享:我的oracle9i学习笔记############## Create Views ##################### CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name [(alias[,alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint_name]] [WITH READ ONLY [CONSTRAINT constraint_name]]; ------创建视图的语法 example: Create or replace view testview as select col1,col2,col3 from table_name; ------创建视图 /*使用别名*/ Create or replace view testview as select col1,sum(col2) col2_alias from table_name; /*创建复杂视图*/ Create view view_name (alias1,alias2,alias3,alias4) as select d.col1,min(e.col1),max(e.col1),avg(e.col1) from table_name1 e,table_name2 d where e.col2=d.col2 group by d.col1; /*当用update修改数据时,必须满足视图的col1>;10的条件,不满足则不能被改变.*/ Create or replace view view_name as select * from table_name where col1>;10 with check option; /*改变视图的值.对于简单视图可以用update语法修改表数据,但复杂视图则不一定能改。如使用了函数,group by ,distinct等的列*/ update view_name set col1=value1; /*TOP-N分析*/ select [column_list],rownum from (select [column_list] from table_name order by Top-N_column) where rownum<=N; /*找出某列三条最大值的记录*/ example: select rownum as rank ,col1 ,col2 from (select col1 ,col2 from table_name order by col2 desc) where rownum<=3; ############# Other database Object ############### CREATE SEQUENCE sequence_name [INCREMENT BY n] [START WITH n] [{MAXVALUE n | NOMAXVALUE}] [{MINVALUE n | NOMINVALUE}] [{CYCEL | NOCYCLE}] [{CACHE n | NOCACHE}]; -----创建SEQUENCE example: CREATE SEQUENCE sequence_name INCREMENT BY 10 START WITH 120 MAXVALUE 9999 NOCACHE NOCYCLE; select * from user_sequences ;---当前用户下记录sequence的视图 select sequence_name.nextval,sequence_name.currval from dual;-----sequence的引用 alter sequence sequence_name INCREMENT BY 20 MAXVALUE 999999 NOCACHE NOCYCLE; -----修改sequence,不能改变起始序号 drop sequence sequence_name; ----删除sequence CREATE [PUBLIC] SYNONYM synonym_name FOR object; ------创建同义词 DROP [PUBLIC] SYNONYM synonym_name;----删除同义词 CREATE PUBLIC DATABASE LINK link_name USEING OBJECT;----创建DBLINK select * from object_name@link_name; ----访问远程数据库中的对象 /*union 操作,它将两个集合的交集部分压缩,并对数据排序*/ select col1,col2,col3 from table1_name union select col1,col2,col3 from table2_name; /*union all 操作,两个集合的交集部分不压缩,且不对数据排序*/ select col1,col2,col3 from table1_name union all select col1,col2,col3 from table2_name; /*intersect 操作,求两个集合的交集,它将对重复数据进行压缩,且排序*/ select col1,col2,col3 from table1_name intersect select col1,col2,col3 from table2_name; /*minus 操作,集合减,它将压缩两个集合减后的重复记录, 且对数据排序*/ select col1,col2,col3 from table1_name minus select col1,col2,col3 from table2_name; /*EXTRACT 抽取时间函数. 此例是抽取当前日期中的年*/ select EXTRACT(YEAR FROM SYSDATE) from dual; /*EXTRACT 抽取时间函数. 此例是抽取当前日期中的月*/ select EXTRACT(MONTH FROM SYSDATE) from dual; ########################## 增强的 group by 子句 ######################### select [column,] group_function(column)... from table [WHERE condition] [GROUP BY [ROLLUP] group_by_expression] [HAVING having_expression]; [ORDER BY column]; -------ROLLUP操作字,对group by子句的各字段从右到左进行再聚合 example: /*其结果看起来象对col1做小计*/ select col1,col2,sum(col3) from table group by rollup(col1,col2); /*复合rollup表达式*/ select col1,col2,sum(col3) from table group by rollup((col1,col2)); select [column,] group_function(column)... from table [WHERE condition] [GROUP BY [CUBE] group_by_expression] [HAVING having_expression]; [ORDER BY column]; -------CUBE操作字,除完成ROLLUP的功能外,再对ROLLUP后的结果集从右到左再聚合 example: /*其结果看起来象对col1做小计后,再对col2做小计,最后算总计*/ select col1,col2,sum(col3) from table group by cube(col1,col2); /*复合rollup表达式*/ select col1,col2,sum(col3) from table group by cube((col1,col2)); /*混合rollup,cube表达式*/ select col1,col2,col3,sum(col4) from table group by col1,rollup(col2),cube(col3); /*GROUPING(expr)函数,查看select语句种以何字段聚合,其取值为0或1*/ select [column,] group_function(column)...,GROUPING(expr) from table [WHERE condition] [GROUP BY [ROLLUP] group_by_expression] [HAVING having_expression]; [ORDER BY column]; example: select col1,col2,sum(col3),grouping(col1),grouping(col2) from table group by cube(col1,col2); /*grouping sets操作,对group by结果集先对col1求和,再对col2求和,最后将其结果集并在一起*/ select col1,col2,sum(col3) from table group by grouping sets((col1),(col2)) 上一篇:Oracle Database缓冲区漏洞 下一篇:设计和实施Oracle RAC项目 更多相关文章
|
推荐文章
精彩文章
|