最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL 語句執(zhí)行順序舉例解析

 更新時間:2022年06月02日 10:59:27   作者:? 三苗同學(xué)?  ?  
這篇文章主要介紹了MySQL 語句執(zhí)行順序舉例解析,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值需要的小伙伴可以參考一下

1、SQL數(shù)據(jù)舉例

舉例:有10個用戶,輸出在訂單表中下單數(shù)最多的5個人的名字。

my_user 表數(shù)據(jù)

my_order數(shù)據(jù)

my_order,uid對應(yīng)my_user表的id:

測試數(shù)據(jù)生成

寫一個存儲過程,隨機(jī)插入10000條數(shù)據(jù):

CREATE DEFINER=`root`@`localhost` PROCEDURE `test_loop`( )  
 BEGIN  
 DECLARE  
     i INT DEFAULT 1;  
 WHILE  
     i < 10000 DO  
     INSERT INTO my_order ( oid, uid )  
 VALUES  
     (  
     CONCAT( 'o_', DATE_FORMAT( now( ), '%Y%m%d%h%i%s' ), FLOOR(1000 + RAND( )*(9999-1000) )),  
     FLOOR( 1 + RAND( ) * 10 )   
     );  
 SET i = i + 1;  
 END WHILE;  
 END

查詢語句:

SELECT
	u.id,
	u.`name`,
	count( o.uid ) count_num 
FROM
	my_user u
	JOIN my_order o ON u.id = o.uid 
GROUP BY
	o.uid 
HAVING
	COUNT( o.uid ) 
ORDER BY
	COUNT( o.uid ) DESC 
	LIMIT 5;

查詢結(jié)果(以自己數(shù)據(jù)為準(zhǔn)):

統(tǒng)計(jì)所有的用戶訂單數(shù):

SELECT
	u.id,
	u.`name`,
	count( o.uid ) count_num 
FROM
	my_user u
	JOIN my_order o ON u.id = o.uid 
GROUP BY
	o.uid 
HAVING
	COUNT( o.uid ) 
ORDER BY
	COUNT( o.uid ) DESC

結(jié)果如下:

該sql 主要考察 group by 和 having 的使用,然后 order by 和 desc 排序。

2、SQL的執(zhí)行順序

  • FORM: 對FROM左邊的表和右邊的表計(jì)算笛卡爾積,產(chǎn)生虛表VT1。
  • ON: 對虛表VT1進(jìn)行ON過濾,只有那些符合的行才會被記錄在虛表VT2中。
  • JOIN: 如果指定了OUTER JOIN(比如left join、 right join),那么保留表中未匹配的行就會作為外部行添加到虛擬表VT2中,產(chǎn)生虛擬表VT3。
  • WHERE: 對虛擬表VT3進(jìn)行WHERE條件過濾。只有符合的記錄才會被插入到虛擬表VT4中。
  • GROUP BY: 根據(jù)group by子句中的列,對VT4中的記錄進(jìn)行分組操作,產(chǎn)生VT5。
  • HAVING: 對虛擬表VT5應(yīng)用having過濾,只有符合的記錄才會被 插入到虛擬表VT6中。
  • SELECT: 執(zhí)行select操作,選擇指定的列,插入到虛擬表VT7中。
  • DISTINCT: 對VT7中的記錄進(jìn)行去重。產(chǎn)生虛擬表VT8.
  • ORDER BY: 將虛擬表VT8中的記錄按照進(jìn)行排序操作,產(chǎn)生虛擬表VT9.
  • LIMIT:取出指定行的記錄,產(chǎn)生虛擬表VT10, 并將結(jié)果返回。

到此這篇關(guān)于MySQL 語句執(zhí)行順序舉例解析的文章就介紹到這了,更多相關(guān)MySQL 語句執(zhí)行順序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL窗口函數(shù)的具體使用

    MySQL窗口函數(shù)的具體使用

    本文主要介紹了MySQL窗口函數(shù)的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • mysql8.0.19忘記密碼的完美解決方法

    mysql8.0.19忘記密碼的完美解決方法

    這篇文章主要介紹了mysql8.0.19忘記密碼的完美解決方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • MYSQL如何自動為查詢數(shù)據(jù)的結(jié)果編上序號詳解

    MYSQL如何自動為查詢數(shù)據(jù)的結(jié)果編上序號詳解

    這篇文章主要給大家介紹了關(guān)于MYSQL如何自動為查詢數(shù)據(jù)的結(jié)果編上序號的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起看看吧。
    2017-11-11
  • MySQL timestamp與時區(qū)問題的解決

    MySQL timestamp與時區(qū)問題的解決

    本文主要介紹了MySQL timestamp與時區(qū)問題的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • mysql處理海量數(shù)據(jù)時的一些優(yōu)化查詢速度方法

    mysql處理海量數(shù)據(jù)時的一些優(yōu)化查詢速度方法

    最近一段時間由于工作需要,開始關(guān)注針對Mysql數(shù)據(jù)庫的select查詢語句的相關(guān)優(yōu)化方法,需要的朋友可以參考下
    2017-04-04
  • Windows下簡單的Mysql備份BAT腳本分享

    Windows下簡單的Mysql備份BAT腳本分享

    朋友說在windows下面用bat命令備份失敗,他一時找不到問題所在,于是找我?guī)兔Σ榭聪?。查找后解決了該問題,想著總結(jié)下來,所以這篇文章主要跟大家分享了一個在Windows下簡單的Mysql備份BAT腳本,需要的朋友可以參考下。
    2017-03-03
  • MySQL中利用索引對數(shù)據(jù)進(jìn)行排序的基礎(chǔ)教程

    MySQL中利用索引對數(shù)據(jù)進(jìn)行排序的基礎(chǔ)教程

    這篇文章主要介紹了MySQL中利用索引對數(shù)據(jù)進(jìn)行排序的基礎(chǔ)教程,需要的朋友可以參考下
    2015-11-11
  • 使用limit,offset分頁場景時為什么會慢

    使用limit,offset分頁場景時為什么會慢

    這篇文章主要介紹了使用limit,offset分頁場景時為什么會慢,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 虛擬機(jī)linux端mysql數(shù)據(jù)庫無法遠(yuǎn)程訪問的解決辦法

    虛擬機(jī)linux端mysql數(shù)據(jù)庫無法遠(yuǎn)程訪問的解決辦法

    最近在項(xiàng)目搭建過程中遇到一問題,有關(guān)虛擬機(jī)linux端mysql數(shù)據(jù)庫無法遠(yuǎn)程訪問,通過查閱相關(guān)數(shù)據(jù)庫資料問題解決,下面把具體的解決辦法分享給大家,有需要的朋友可以參考下
    2015-08-08
  • Oracle與MySQL的區(qū)別詳解

    Oracle與MySQL的區(qū)別詳解

    MySQL和Oracle Database都是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),本文主要介紹了MySQL和Oracle Database的區(qū)別及優(yōu)缺點(diǎn)是什么,感興趣的小伙伴歡迎閱讀
    2023-04-04

最新評論

馆陶县| 澄江县| 娄烦县| 靖江市| 福建省| 揭西县| 宝丰县| 台州市| 遂川县| 苍梧县| 肥西县| 城步| 和硕县| 南投市| 东兴市| 黄浦区| 广昌县| 宜川县| 泸西县| 惠来县| 沽源县| 加查县| 陆丰市| 平陆县| 武冈市| 宁安市| 基隆市| 邵武市| 曲周县| 永康市| 白朗县| 镶黄旗| 临朐县| 图木舒克市| 建阳市| 新龙县| 凤城市| 来宾市| 乌海市| 界首市| 西林县|