日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL 基础 ———— SQL语句的执行顺序与 LIMIT 子句

發布時間:2025/3/12 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL 基础 ———— SQL语句的执行顺序与 LIMIT 子句 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引言

到目前為止,已經總結了常見的SQL子句,包括 SELECT 、FROM、JOIN ...?ON、WHERE、GROUP BY、HAVING、ORDER BY。

雖然SQL的書寫順序是固定的,但在MySQL引擎中執行的順序并不完全和書寫順序一致。除了上述這些子句,下面將會介紹另一個比較常用的子句 LIMIT ,并且總結一下SQL 語句的執行順序。

一、LIMIT 子句

LIMIT 子句用于限制查詢結果的數量,也常常作為網站頁面展示時分頁查詢的基礎支持。

LIMIT 子句可以接收 1 個參數,或 2 個參數。

當接收 1 個參數時,表示僅輸出指定的條數,比如,我們查詢員工表里薪酬大于平均工資的員工信息,然后按工資降序,取前兩個:

首先查薪水大于平均工資的員工信息:

SELECT * FROM emp WHERE salary > (SELECT AVG(salary) FROM emp )

然后,根據工資降序,并選出頭兩個:

SELECT * FROM emp WHERE salary > (SELECT AVG(salary) FROM emp ) ORDER BY salary DESC LIMIT 2

一般,我們使用 LIMIT 子句都會配合 ORDER BY 進行某種業務要求上的排序,然后再進行限制。

大概 LIMIT 子句接收兩個參數的時候,表示從某個 index 下標開始,查詢指定條數,格式是:

LIMIT record_index, size?

其中 record_index 是從 0? 開始的,也就是說,表或結果集中的第一條記錄就是第 0 條,第二條是 第 1 條,依此類推。size 代表查詢出來的數量。

比如下面這條語句:

SELECT * FROM student ORDER BY class_id, stu_age LIMIT 0, 10

這句SQL的含義是將 LIMIT 子句之前查詢出來的結果集(排序之后),從第 0 條開始,顯示 10 條,即第 0 到第 9 條。

如果想再進行 10 條輸出,那么就可以改變 record_index 的值,繼續往后輸出:

SELECT * FROM student ORDER BY class_id, stu_age LIMIT 10, 10

于是,就有了初步的分頁效果。通過總結,我們也可以得出與頁面分頁信息有這樣的關系:

LIMIT? (pageNum - 1) * size, size

其中,pageNum 代表第幾頁,從第一頁開始,這是一個頁面給用戶展示的信息,肯定不會告訴用戶要從第 0 頁開始。size 代表每頁顯示的記錄條數,這個值可以由用戶自定義,也可以由產品固定寫死,具體根據實際需要來設計。總之,這個公式說明了實際業務場景中的頁號、記錄條數與 LIMIT 子句的關系,可以通過它來設計分頁功能。

二、SQL 語句執行順序

到目前為止,比較常見的子句,及其內部執行順序如下:

第7步:SELECT 查詢列表

第1步:FROM 表名

第2步:JOIN? 關聯表

第3步:ON? 關聯條件

第4步:WHERE 篩選條件

第5步:GROUP BY? 分組字段

第6步:HAVING 分組后篩選條件

第8步:ORDER BY 排序字段

第9步:LIMIT? 輸出限制

上面的子句列表中,冒號右側是 SQL 各個子句的書寫順序,冒號左側的 “第 xx?步” 是 MySQL 內部的實際執行順序。

粗體標出的 SELECTFROMWHERE 幾乎是每個SQL 都會用到(但不絕對,有時候甚至一個 SELECT 就是一條SQL)。

其中唯一與書寫順序不同的執行就是 SELECT 子句了,雖然寫在SQL語句的最前面,執行順序卻相對靠后。而其中大部分執行步驟與書寫步驟保持一致。

綜上,就是關于SQL 語句執行順序 和 LIMIT 子句的總結。歡迎文末留言。

?

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的MySQL 基础 ———— SQL语句的执行顺序与 LIMIT 子句的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。