教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

Java培訓(xùn)之DQL之limit方言

更新時(shí)間:2016年06月27日18時(shí)23分 來(lái)源:傳智播客java培訓(xùn)學(xué)院 瀏覽次數(shù):

limit屬于mysql的方言,用來(lái)限定查詢結(jié)果的起始行,以及總行數(shù)。例如:select * from emp limit 3,4,表示從emp表中第4條記錄開始,查詢4條記錄。如圖1-1所示:

圖1-1 使用limit查詢
limit子句后面的兩個(gè)數(shù)字有如下意義:
  • 第一個(gè)數(shù)字:表示查詢結(jié)果的起始行,從0開始,0表示從第一行開始??;
  • 第二個(gè)數(shù)字:表示一共查詢幾條記錄。
limit子句常用來(lái)做分頁(yè)查詢,分頁(yè)查詢就是根據(jù)需要每次只返回需要的數(shù)據(jù),而不用每次都從數(shù)據(jù)庫(kù)中全部把數(shù)據(jù)提取出來(lái),這樣可以降低程序與數(shù)據(jù)庫(kù)之間的數(shù)據(jù)傳送量,并且可以提高程序的性能。例如有這樣一個(gè)需求,要求一頁(yè)只能顯示5條數(shù)據(jù),現(xiàn)在查詢第三頁(yè)的數(shù)據(jù),對(duì)應(yīng)的SQL語(yǔ)句如下所示:
  • select * from emp limit 10,5
分析:一頁(yè)顯示5條數(shù)據(jù),那么第三頁(yè)的第一條數(shù)據(jù)是第11條數(shù)據(jù),又因?yàn)閘imit的第一個(gè)數(shù)字從0開始,所以是10,顯示5條數(shù)據(jù)所以limit的第二個(gè)數(shù)字是5。如圖1-3所示:

圖1-3 分頁(yè)查詢
圖1-3中,只查詢了4條數(shù)據(jù),而我們的語(yǔ)句是查詢5條數(shù)據(jù),出現(xiàn)這樣的原因是因?yàn)閑mp表中有14條數(shù)據(jù),所以在第三頁(yè)中只有四條數(shù)據(jù)。
我們?cè)谶M(jìn)行分頁(yè)查詢時(shí),limit的第一個(gè)數(shù)字可以通過(guò)以下公式獲得:
  • (當(dāng)前頁(yè)-1)*每頁(yè)記錄數(shù),例如查詢第三頁(yè)數(shù)據(jù),該公式就是:(3-1)*5=10。

本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://m.fskzgqt.cn/javaee
0 分享到:
和我們?cè)诰€交談!