知识大全 巧取Oracle指定记录

Posted 语句

篇首语:天不生无用之人,地不长无名之草。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 巧取Oracle指定记录相关的知识,希望对你有一定的参考价值。

Oracle认证:巧取Oracle指定记录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

取得表中第 到第 条记录的值   第一种方法 使用minus语句  假设ddl语句如下   以下是引用片段   CREATE TABLE T(ID VARCHAR ( ) PRIMARY KEY VALUE INT)  那么第一种方法就是取出前 条 再取出前 条 然后采用集合运算的方法把前 条减去前 条就OK了 SQL语句如下  以下是引用片段   SELECT * FROM T WHERE ROWNUM 《=   MINUS  SELECT * FROM T WHERE ROWNUM 《=   另外一种方法 采用子查询  子查询的这种方法相对比较复杂一点 不过性能要比刚才的集合相减要好一些 这种方法首先在子查询中得到前 条数据 顺路也取得前 条数据的rownum 然后再一次查询的时候取得刚才查询的rownum大于 的那些数据 SQL语句如下  以下是引用片段   SELECT ID VALUE FROM  (SELECT ID VALUE ROWNUM R FROM T WHERE R 《= )  WHERE  R 》   通过上面的语句 就得到了 到第 条数据了    利用外连接替代not in语句  in语句还有not in语句的效率是非常的差的 因为数据库在遇到这两种语句的时候是要把数据进行一条一条的比对 如果in或者not in两侧的数据量在上万条的时候 进行比对的次数就是上亿次 很可能一个简单的sql语句就要执行半个小时以上 这种效率客户是肯定不能够接受的 那我们可以考虑两种方法进行替代 第一种就是采用exist语句和not exist语句 这种大家应该比较熟悉了 另外一种就是巧用外关联语句 这种方法可能大家不是很熟悉 我来稍微说一下 假设数据表的建表DDL语句为  以下是引用片段   CREATE TABLE T (ID VARCHAR ( ) PRIMARY KEY VALUE INT)  而in或者not in的表的建表DDL语句为  CREATE TABLE T (VALUE INT)  Oracle中外关联采用的是(+)符号表示外关联 也就是说标识了(+)符号的部分在找不到对应的值的时候为NULL 下面是替代in语句的时候的SQL语句  以下是引用片段   SELECT T ID T VALUE  FROM T T   WHERE T VALUE = T VALUE(+)  AND T VALUE IS NOT NULL   而类似的 替代not in语句的时候的SQL语句则为  以下是引用片段   SELECT T ID T VALUE  FROM T T   WHERE T VALUE = T VALUE(+)  AND T VALUE IS NULL   大家可以试验一下 在数据量多的时候 采用外关联比用in或者not in的执行效率要高很多很多 cha138/Article/program/Oracle/201311/18104

相关参考

知识大全 指定一个where条件来有条件地导出记录

  在Oracle数据库中exp中的query参数可以指定一个where条件来有条件地导出记录对于许多不常使用此选项的朋友来说经常会遇到下面这样的错误LRMmultiplevaluesnotallow

知识大全 oracle如何返回指定行数之间的查询结果

  如何返回指定行数之间的查询结果以实现web记录分页在Oracle中有许多的方法这里仅仅列出了种希望能对大家有所帮助大家可以根据不同需要选择下面的script     )selectwhererow

知识大全 asp 删除指定记录程序代码

  这是一款asp教程删除指定记录程序代码哦实例由点击连接到删除页面并且执行删除  <%数据库教程连接subopendb()setrs=serverCreateObject("adodbreco

知识大全 asp 查询指定id记录进行修改

  asp教程查询指定id记录进行修改<%DimIdSqlUrlId=Html_Encode(RequestQueryString("id"))Ifid=""Then Response

知识大全 oracle重置序列从指定数字开始的方法详解

  重置oracle序列从指定数字开始  代码如下:declarennumber();v_startnumnumber():=;从多少开始v_stepnumber():=;步进tsqlvarchar(

知识大全 oracle添加用户并指定数据库

  impcmsuser/password@orclfile=bubpdmpfromuser=cmsusertouser=cmsuser  SQL>createuseruumcuserident

知识大全 asp 指定读取前几条记录

  <%dimsqlnote    sqlnote="selecttop*fromnoteorderbyiddesc"   

知识大全 Oracle判断指定列是否全部为数字的sql语句

Oracle判断指定列是否全部为数字的sql语句  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!判断

知识大全 oracle将数据导入指定表空间

在使用oracle的exp和imp导出导入的时候有时遇到需要导入的数据不是同一个用户的也不一定是同一个表空间例如源数据库上用户为aaa表空间aa目标数据库用户为bbb表空间bb当用imp导入以后查看发

知识大全 以Oracle为例说明如何通过ODBC将数据库中的指定表导出到MDB数据库

以Oracle为例说明如何通过ODBC将数据库中的指定表导出到MDB数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我