成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle巧取相關的指定記錄實操

數據庫 Oracle
本文主要介紹的是Oracle巧取相關的指定記錄及巧用外的關聯查詢,還有如何取的相關表中第6到第10條記錄的值的實際操作步驟的介紹。

Oracle巧取相關的指定記錄及巧用外的關聯查詢,此文章主要是利用實例的形式來解決Oracle巧取指定記錄和巧用外關聯查詢的相關問題。 如果你對這一技術,心存好奇的話,以下的文章將會揭開它的神秘面紗。

如何取得表中第6到第10條記錄的值

第一種方法,使用minus語句:

假設ddl語句如下:

 

  1. CREATE TABLE T(ID VARCHAR2(4) PRIMARY KEY, VALUE INT) 

那么第一種方法就是取出前5條,再取出前10條,然后采用集合運算的方法把前10條減去前5條就OK了,SQL語句如下:

 

  1. SELECT * FROM T WHERE ROWNUM <= 10  
  2. MINUS  
  3. SELECT * FROM T WHERE ROWNUM <= 5;  

 

另外一種方法,采用子查詢:

子查詢的這種方法相對比較復雜一點,不過性能要比剛才的集合相減要好一些。這種方法首先在子查詢中得到前10條數據,順路也取得前10條數據的rownum,然后再一次查詢的時候取得剛才查詢的rownum大于5的那些數據。SQL語句如下:

 

  1. SELECT ID, VALUE FROM  
  2. (SELECT ID, VALUE, ROWNUM R FROM T WHERE R <= 10)  
  3. WHERE  
  4. > 5;  

 

通過上面的語句,就得到了6到第10條數據了。

利用外連接替代not in語句

in語句還有not in語句的效率是非常的差的,因為數據庫在遇到這兩種語句的時候是要把數據進行一條一條的比對,如果in或者not in兩側的數據量在上萬條的時候,進行比對的次數就是上億次,很可能一個簡單的sql語句就要執行半個小時以上。這種效率客戶是肯定不能夠接受的。

那我們可以考慮兩種方法進行替代,第一種就是采用exist語句和not exist語句,這種大家應該比較熟悉了。另外一種就是巧用外關聯語句,這種方法可能大家不是很熟悉,我來稍微說一下。假設數據表的建表DDL語句為

 

  1. CREATE TABLE T1(ID VARCHAR2(4) PRIMARY KEY, VALUE INT) 

而in或者not in的表的建表DDL語句為:

 

  1. CREATE TABLE T2(VALUE INT) 

Oracle巧取指定記錄以及巧用外關聯查詢中外關聯采用的是(+)符號表示外關聯,也就是說標識了(+)符號的部分在找不到對應的值的時候為NULL。下面是替代in語句的時候的SQL語句

 

  1. SELECT T1.ID, T1.VALUE  
  2. FROM T1, T2  
  3. WHERE T1.VALUE = T2.VALUE(+)  
  4. AND T2.VALUE IS NOT NULL;  

 

而類似的。替代not in語句的時候的SQL語句則為:

 

  1. SELECT T1.ID, T1.VALUE  
  2. FROM T1, T2  
  3. WHERE T1.VALUE = T2.VALUE(+)  
  4. AND T2.VALUE IS NULL;  

 

大家可以試驗一下,在數據量多的時候,采用外關聯比用in或者not in的執行效率要高很多很多。

文章出自: http://www.programbbs.com/doc/class10-1.htm

【編輯推薦】

  1. Oracle數據導入imp/exp的實操
  2. 淺析Oracle 10g rac更改listener端口
  3. 一個簡單的Oracle寫文件例子
  4. 找回Oracle用戶密碼的方法
  5. 如何對Oracle sql 進行性能優化的調整
責任編輯:佚名 來源: programbbs
相關推薦

2010-04-12 09:36:29

Oacle merge

2010-04-29 11:26:52

2010-04-09 10:13:13

Oracle數據字典

2010-04-15 14:18:30

Oracle創建

2010-05-10 17:00:53

Oracle死鎖進程

2010-04-13 16:30:13

Oracle權限

2010-04-16 17:35:39

Oracle進程

2010-04-19 17:39:04

Oracle導入

2010-04-30 11:29:19

Oracle Data

2010-04-20 16:24:52

Oracle EM

2010-04-16 11:11:46

Oracle存儲過程

2010-04-13 14:00:00

Oracle inse

2010-04-27 10:25:28

Oracle Subs

2010-04-12 14:25:04

Oracle備份

2010-04-29 14:23:08

Oracle初始參數

2010-04-14 10:48:49

Oracle使用

2010-04-09 15:22:57

Oracle數據庫

2010-05-04 17:49:39

Oracle安裝

2010-04-14 11:22:12

Oracle同時訪問

2010-04-19 10:23:05

Oracle內存結構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 伊伊综合网 | 婷婷一级片 | 久久国产香蕉 | 毛片一级网站 | 一级片在线观看 | 久久丁香 | 久久久久久天堂 | 亚洲天堂影院 | 欧美视频二区 | 91污在线 | 欧美日韩三级 | 精品国产欧美一区二区 | 亚洲日本一区二区三区四区 | 国产xxxx搡xxxxx搡麻豆 | 久久精品成人 | 精品久久伊人 | 久久久久久久久久久久久久av | 国产精品久久久久久久久久尿 | 久久亚洲一区二区 | 国产一级在线观看 | 91在线视频在线观看 | 在线观看的av | 国产这里只有精品 | 日本国产高清 | 久久99精品久久久 | 亚洲第一天堂无码专区 | 亚洲视频在线看 | 91在线精品视频 | 国产精品久久久久久高潮 | 欧美精品综合 | 亚洲成人三级 | 国产精品综合色区在线观看 | 日韩精品一区二区三区视频播放 | 亚洲顶级毛片 | 国产高潮好爽受不了了夜色 | 成人在线观看免费视频 | 日韩欧美在线一区 | 欧美日韩精品一区二区三区视频 | 成人欧美一区二区三区在线观看 | 久久成人免费视频 | 一区二区三区欧美 |