oracle经典语句

oracle经典语句

ID:37713197

大小:40.00 KB

页数:6页

时间:2019-05-29

oracle经典语句_第1页
oracle经典语句_第2页
oracle经典语句_第3页
oracle经典语句_第4页
oracle经典语句_第5页
资源描述:

《oracle经典语句》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.SELECT子句中避免使用“*”7Z-r"H(].?  当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用‘*’是一个方便的方法.不幸的是,这是一个非常低效的方法.实际上,ORACLE在解析的过程中,会将“*”依次转换成所有的列名,这个工作是通过查询数据字典完成的,这意味着将耗费更多的时间.9N){%C#X9f"@'_;Q$v#[2f2x#

2、2.使用DECODE函数来减少处理时间"m#M/@  }"/?8E%C!X(a  使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表.例如:8

3、e6}7f*a9S*R&w,Z+l;x+

4、!l%uSql代码!Q:P&h3_  z)B(P9i1Z:P1.SELECTCOUNT(*),SUM(SAL)FROMEMPWHEREDEPT_NO=0020AND  ENAMELIKE‘SMITH%’;  !u6C8J$u1T,i"g.c7S7R92.SELECTCOUNT(*),SUM(SAL)FROMEMPWHEREDEPT_NO=0030ANDENAMELIKE‘SMITH%’;  !q  :@9W  Y(HSELECTCOUNT(*),SUM(SAL)FROMEMP

5、WHEREDEPT_NO=0020AND  ENAMELIKE‘SMITH%’;&c8S  {*I"a.I8zSELECTCOUNT(*),SUM(SAL)FROMEMPWHEREDEPT_NO=0030ANDENAMELIKE‘SMITH%’;-C)N!l)P;q-C  你可以用DECODE函数高效地得到相同结果:8~7k)@#e%m3[.o$q0o-_,^1U%U)M6d5~Sql代码6u6i*R*J8Z,O&p)S#L:?(L1.SELECTCOUNT(DECODE(DEPT_NO,0020,’X’,NULL))D

6、0020_COUNT,  1h3^(F  `2

7、4^2.      COUNT(DECODE(DEPT_NO,0030,’X’,NULL))D0030_COUNT,  2M!q6W)f"Q:`3.      SUM(DECODE(DEPT_NO,0020,SAL,NULL))D0020_SAL,  6P#p-F0y+T&l*F3I+S/n3N4.      SUM(DECODE(DEPT_NO,0030,SAL,NULL))D0030_SAL  ,q4`,R%Q45C5.FROMEMPWHEREENAMELIKE‘SM

8、ITH%’;  5I%M$u!z7O7H5CSELECTCOUNT(DECODE(DEPT_NO,0020,’X’,NULL))D0020_COUNT,.J1h!w$e:o;m+y$?      COUNT(DECODE(DEPT_NO,0030,’X’,NULL))D0030_COUNT,2I-g'M$y5@,];J      SUM(DECODE(DEPT_NO,0020,SAL,NULL))D0020_SAL,$p;]$J8W&L/M;n      SUM(DECODE(DEPT_NO,0030,SAL,NULL)

9、)D0030_SAL$V;E$^.e  S0E9xFROMEMPWHEREENAMELIKE‘SMITH%’;/x1G*t*F;y&s#I6H6B%x0Q!J.r9g  类似的,DECODE函数也可以运用于GROUPBY和ORDERBY子句中.  N+^4i9u&u&g,`#e+C,a/L/R/z3.删除重复记录*J(`&K9F4n.A)a  最高效的删除重复记录方法(因为使用了ROWID)*[4?3v/R6j  E*J  Q4b-v-G%PSql代码/T"

10、$l,o7u2D*f1.DELETEFROMEMPEWHERE

11、E.ROWID>(SELECTMIN(X.ROWID)FROMEMPXWHEREX.EMP_NO=E.EMP_NO);  &G#l)S)Z*c,t,oDELETEFROMEMPEWHEREE.ROWID>(SELECTMIN(X.ROWID)FROMEMPXWHEREX.EMP_NO=E.EMP_NO);7T8C%i3T8l"[!c!F#r4v  U5s6y:S7D#`/o)A#}-Q7M6u8R2H1e#[-K4.用TRUNCATE替代DELETE$v8p)d"m7r4O#P  当删除表中的记录时,在通常情况下,回滚段

12、(rollbacksegments)用来存放可以被恢复的信息,如果你没有COMMIT事务,ORACLE会将数据恢复到删除之前的状态(准确地说是恢复到执行删除命令之前的状况),而当运用TRUNCATE时,回滚段不再存放任何可被恢复的信息.当命令运行后,数据不能被恢复.因此很少的资源被调用,执行时间也会很短.3j!Z$W

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。