`

oracle SQL查询经验总结

 
阅读更多

1、oracle伪列 rowNUM

     select * from(select rownum no,*  from table) where no>2 and no<3;

    分页效率高于

    select * from (select rownum no,* from tablewhere rownum<=3 ) where no >=2;

 

2 删除重复记录方法很多,列出两种。
⑴ 通过创建临时表
可以把数据先导入到一个临时表中,然后删除原表的数据,再把数据导回原表,SQL
语句如下:
SQL>create table stu_tmp as select distinct* from stu;
SQL>truncate table sut; //清空表记录
SQL>insert into stu select * from stu_tmp; //将临时表中的数据添加回原表
这种方法可以实现需求,但是很明显,对于一个千万级记录的表,这种方法很慢,在生
产系统中,这会给系统带来很大的开销,不可行。
⑵ 利用 rowid结合 max或 min函数
使用rowid 快速唯一确定重复行结合max 或min 函数来实现删除重复行。
SQL>delete from stu a where rowid not in (select max(b.rowid) from stu b where a.no=b.no and
a.name = b.name and a.sex = b.sex);
//这里max 使用min 也可以或者用下面的语句
SQL>delete from stu a where rowid < (select max(b.rowid) from stu b where a.no=b.no and
a.name = b.name and a.sex = b.sex);
//这里如果把max 换成min 的话,前面的where 子句中需要把"<"改为">"
跟上面的方法思路基本是一样的,不过使用了group by,减少了显性的比较条件,提高
效率。
SQL>delete from stu where rowid not in (select max(rowid) from stu t group by t.no, t.name,
t.sex );
思考:若在stu 表中唯一确定任意一行数据(1, 'ab',’男’),把sex 字段更新为”女”,怎
么做?
SQL>update stu set sex=’ 女’ where rowid=(select min(rowid) from stu where no=1 and
name=’ab’ and sex=’男’);
三、ROWNUM和ROWID

分享到:
评论

相关推荐

    oracle的SQL语句的一些经验总结

    oracle的SQL语句的一些经验总结,里边有很多大家和自己的东西。

    sql优化经验总结

    sql优化经验总结,还不错

    【超易懂实用,初学者必看】oracleSQL优化培训

    【超易懂实用,初学者必看】oracleSQL优化培训,由企业dba切身实际经验总结,超简单易懂超实用,初入门者不看必后悔!!

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    作者通过总结各自多年的软件开发和教学培训经验,与大家分享了掌握Oracle SQL所独有的丰富功能的技巧所在,内容涵盖SQL执行、联结、集合、分析函数、子句、事务处理等多个方面。读者可以学习到以下几个方面的技巧:...

    ORACLE_FAQ.rar_oracle express_oracle sql _oracle chm_sql chm_架

    ORACLE_FAQ中是itpub高手的多年经验总结出来的oracle开发的经典资料,包括pl-sql技巧,oracle体系架构,oracle备份与恢复,oracle优化,不同O/S上的开发,网络开发等

    oracle SQL和PLsql

    这是针对ORACLE 数据库中的SQL以及PL/SQL 系统的学习,方便理解和学习数据库,里面对oracle的所有知识点涵盖的比较全面,主要的一点的我的学习经验总结,觉得对大家有一定的帮助

    dba常用sql多年长期总结

    dba常用sql多年长期总结,累积了多年的经验得出的常用sql。

    Oracle SQL优化

    Oracle SQL 优化的经验总结,并带有示例,适合初学者入门的资料

    Oracle PL-SQL语言基础

    内有文件: Oracle PL-SQL入门之慨述.doc ...ORACLE 数据库开发经验总结.doc Oracle9i PL-SQL编程的经验小结.doc ORACLE函数大全.doc Oracle中使用PL-SQL操作COM对象.doc Toad资料.doc PL-SQL单行函数和组函数详解.doc

    oracle语句经验总结

    创建数据库,删除数据库,备份sql server

    oracle使用管理笔记(一些经验的总结)

    3.oracle常用sql plus命令 4 4.oracle用户管理 5 (1)权限 5 (2)角色 5 (3)方案(schema) 5 (4)用户管理的综合案例 7 (5)账号锁定 8 (6)账号解锁 8 (7)终止口令 8 (8)删除profile文件 8 5.oracle数据库启动流程 9 6....

    多年的 SQL 优化经验

    多年的 SQL 优化经验总结,挺好的参考。 ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数...

    PL/SQL编程经验小结开发者网络Oracle

    正在看的ORACLE教程是:PL/SQL编程经验小结开发者网络Oracle。平时在PL/SQL中的编程中遇到一些问题,这里以问答的形式来进行把它们总结下来,以供大家分享。 1、当需要向表中装载大量的数据流或者需要处理大量的数据...

    优化sql的另一种思维(oracle)

    优化SQL的另一种思维系列文章是作者用了快一年的时间完成的SQL优化文章,它的原理实际上是通过分析SQL语句的执行计划来实现对整体SQL进行优化的,这是多年项目经验的总结,由于考虑到目前国内的Oracle部署还基本维持...

    不错的oracle ,sql练习讲解

    不经一番寒彻骨,安得梅花扑鼻香?”这样的道理人人都懂,可能够真正去实践的人却并不多。 结合我的学习经验与感悟,我总结有16字要诀:去除浮躁,认真学习,不断积累,寻找机遇。

    Oracle9iPL/SQL编程的经验小结

    正在看的ORACLE教程是:Oracle9iPL/SQL编程的经验小结。平时在PL/SQL中的编程中遇到一些问题,这里以问答的形式来进行把它们总结下来,以供大家分享。 1、当需要向表中装载大量的数据流或者需要处理大量的数据流的...

    使用LR测试Oracle数据库经验总结

    使用LR测试Oracle数据库经验总结软件测试1、我将登录SQL*Plus的操作也录制在Action中,添加迭代运行会报错,提示如下:Action.c(11):Error:lrdo_server_attach:"OCIServerAttach"return-code=OCI_ERROR,error-code=...

Global site tag (gtag.js) - Google Analytics