在編寫程序中,我們可能遇到諸如查詢最熱門的5篇文章或返回滿足條件的n條記錄的情況,在SQL語言中,可以使用TOP關鍵字來實現。
TOP關鍵字在SQL語言中用來限制返回結果集中的記錄條數,其使用方法有兩種形式,下面做以詳細的介紹:
(1)返回確定數目的記錄個數
語法格式: SELECT TOP n <列名表> FROM <表名> [查詢條件]
其中,n為要返回結果集中的記錄條數
(2)返回結果集中指定百分比的記錄數
語法格式: SELECT TOP n PERCENT <列名表> FROM <表名> [查詢條件]
其中,n為所返回的記錄數所占結果集中記錄數目的百分比數
舉例說明:
假設數據庫中有一個表存儲的為學生的信息(student):
(1)SELECT TOP 20 * FROM student --查詢前20名學生的信息
(2)SELECT TOP 20 * PERCENT FROM student --查詢學生表中前20%的學生信息
在具體使用過程中,可以結合條件子句和排序子句(如何進行排序)等實現較為豐富的功能,如:
(1)查詢年齡(sage)大于23的前20名學生的信息
查詢語句為:SELECT TOP 20 * FROM student WHERE sage > 23
(2)查詢年齡較為大的前20名學生的信息
查詢語句為: SELECT TOP 20 * FROM student ORDER BY sage DESC
在假設有一個表為新聞表(news),其列名定義如下:
ID 新聞編號, 整數型 自增字段
Title 新聞標題 , 字符串型(varchar)
Content 新聞內容,Text型
Hits 點擊次數, 整數類型
AddDateTime 添加時間 ,字符串(YYYY-MM-DD)
則要求查詢:
(1)查詢最新10條新聞,只列出新聞標題和添加時間
SELECT TOP 10 Title, AddDateTime FROM News ORDER BY AddDateTime DESC
說明:如果新聞增加時是按時間發生的先后順序添加的話,也可以按ID來排序(因為ID為自增字段,ID越大的應越新),即:
SELECT TOP 10 Title, AddDateTime FROM News ORDER BY ID DESC
(2)查詢最熱門的8條新聞的標題和點擊次數
查詢語句為: SELECT TOP 8 Title, Hits FROM News ORDER BY Hits DESC
新聞熱點
疑難解答