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

SQL Server基礎:TOP、OFFSET-FETCH、SET ROWCOUNT用法筆記

數據庫 SQL Server
今天給大家介紹一下TOP、OFFSET-FETCH、SET ROWCOUNT用法筆記,希望對大家能有所幫助!

[[390591]]

今天給大家介紹一下TOP、OFFSET-FETCH、SET ROWCOUNT用法筆記,希望對大家能有所幫助!

1、 TOP用法

語法格式:TOP ( expression ) [ PERCENT ] [ WITH TIES ]

  • expression:返回行數的數值表達式
  • PERCENT:指返回的結果集行的百分比。

用法:

  1. --從UserInfo數據表提取20行記錄 
  2. SELECT TOP 20 * FROM UserInfo; 
  3. --UserInfo數據表提取10%行記錄 
  4. SELECT TOP 10 PERCENT * FROM UserInfo; 

表達式中指定返回的行數或百分比,則必須將表達式包含在括號內。用法如下:

  1. DECLARE @n AS int
  2. SET @n = 12 
  3. SELECT TOP (@n) * 
  4. FROM UserInfo ; 

注意:在未指定ORDER BY子句的情況下,TOP子句返回的數據行,是那些在物理循序上優先訪問到的行,而并不一定是邏輯上的前幾行。簡單來說,這種返回結果具有不確定性。即使指定了ORDER BY子句,但是所指定的排序列中含有重復值,返回的結果也具有不確定性。不確定的數據,對于數據使用而言,沒有多少價值。解決列中存在重復值時返回結果的不確定性問題,可以使用WITH TIES 關鍵字。該關鍵字將指定返回包含ORDER BY子句返回的最后一個值的所有行,這樣將超過expression指定的數量。示例:

  1. SELECT TOP 2 WITH TIES  
  2. FROM UserInfo 
  3. ORDER BY CreateDate 

2、OFFSET-FETCH用法

SQL Server 2012版本引入了對OFFSET-FETCH技術的支持。OFFSET-FETCH篩選通常被視為ORDER BY子句的一部分,通常用于實現按順序分頁顯示效果。OFFSET指定要跳過的行數,FETCH指定在跳過的行數后要篩選的行數用法:

  1. SELECT UserID, Birthday, Name,Age 
  2. FROM UserInfo 
  3. ORDER UserID 
  4. OFFSET 20 ROWS FETCH NEXT 15 ROWS ONLY

注意:使用OFFSET-FETCH的查詢必須具有ORDER BY子句。此外,FETCH子句也必須有OFFSET子句。如果不想跳過任何行,但是希望使用FETCH篩選,可以使用OFFSET 0 ROWS來表示。不過,單獨使用FETCH表示跳過指定的行數,并返回查詢結果中所有剩余行。OFFSET-FETCH語法有一些有趣的語言方面需要注意。單數格式ROW和復數格式ROWS是可以互換的,因此能夠以直觀的類似英語方式來描述篩選。例如,假設僅希望獲取一行,如果指定了FETCH 1 ROWS,雖然這在語法上是有效的,不過看上去會很怪。因此,可以使用FETCH 1 ROW格式。此互換同樣適用于OFFSET子句。另外,如果不希望跳過任何行(OFFSET 0 ROWS),可能覺得“first”比“next”更合適,因此,FIRST和NEXT格式是可以互換的。從支持跳過功能看,OFFSET-FETCH子句比TOP子句更靈活。但OFFSET-FETCH不支持PERCENT和WITH TIES選項,而TOP支持。由于OFFSET-FETCH是標準的,而TOP不是,建議使用OFFSET-FETCH作為默認選擇,除非你需要TOP支持且OFFSET-FETCH不支持的功能。

3、SET ROWCOUNT語句

SET ROWCOUNT n 語句限制結果集的大小,該語句指定在返回指定的n行后停止處理查詢。SET ROWCOUNT與TOP的差別如下:

  • SET ROWCOUNT限制適用于計算ORDER BY后在結果集中生成行。如果指定了ORDER BY,SELECT語句將從分類排序后的某個值集中選擇n行后結束。
  • TOP和OFFSET-FETCH適用于單個SELECT語句。直到執行下一個SET ROWCOUNT語句前,SET ROWCOUNT設置將一直有效。如果執行SET ROWCOUNT 0將關閉該選項。

說明:TOP和OFFSET-FETCH性能要優于使用SET ROWCOUNT,應當盡量避免使用SET ROWCOUNT。用法:

  1. SET ROWCOUNT 4; 
  2. SELECT TOP 20 * 
  3. FROM UserInfo; 

 

責任編輯:姜華 來源: IT技術分享社區
相關推薦

2021-04-18 07:58:22

SQL Server數據庫Apply

2010-11-10 15:23:55

SQL SERVER

2010-09-13 13:19:16

Sql Server分

2013-05-02 15:09:22

2011-08-19 10:24:46

SQL Server Top新用途

2010-11-12 10:53:41

sql server表

2010-11-11 11:13:54

SQL Server

2009-05-11 09:19:35

微軟SQL Server Codesmith

2022-08-31 07:24:56

Docker日志命令

2021-10-13 06:49:13

SQL Server優化

2010-08-25 13:54:29

CSStop

2011-04-06 14:03:47

MySQLSQL Server用法

2010-11-10 14:06:44

SQL Server全

2010-06-28 11:06:04

SQL Server

2010-07-09 14:51:21

SQL Server

2011-03-28 12:50:45

SQL Server CE基礎

2011-01-13 08:47:49

SQL Server數

2010-07-13 16:48:14

SQL Server

2010-07-26 16:39:57

SQL Server

2021-04-21 07:17:16

SQLServer數據庫SQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一级片在线观看 | 不卡在线视频 | 精品欧美乱码久久久久久 | 免费观看黄色一级片 | 国产精品美女视频 | 日韩一区二区三区视频 | 一区二区三区免费 | 日本高清视频网站 | 天堂亚洲 | 成人网av | 欧美一级欧美三级在线观看 | 亚洲一区精品在线 | 日韩在线观看视频一区 | 日韩欧美国产精品一区二区三区 | 福利一区在线观看 | 亚洲毛片在线 | 日韩手机在线看片 | 国产精品久久久久永久免费观看 | 日韩视频一区在线观看 | 成人午夜免费福利视频 | 99精品免费| 成人在线观看免费视频 | 亚洲国产成人精品女人 | 99精品99| 欧美黑人体内she精在线观看 | 国产高清视频在线 | 在线黄色网 | 做a的各种视频 | 91在线影院 | 日韩国产一区 | 亚洲精品九九 | 91精品久久久 | 黄色国产视频 | 中文字幕 亚洲一区 | 国产成人精品免费 | 国产日产欧产精品精品推荐蛮挑 | 黄色一级大片在线免费看产 | 国产一级片一区二区三区 | caoporn国产 | 国产精品免费一区二区三区四区 | 亚洲第1页|