sql的書寫順序和執行順序


很多人會問,sql語句不是挺好寫的嗎,需要去考慮那么多深的問題干嘛,會寫能執行且查出結果就行了,但是,咱們得有着一顆鑽研之心去看待問題,

不能只看表面,要多動腦去深層次的思考,以下我就詳細把sql的執行順序總結下來

一、書寫順序

簡單拿一條sql語句來示范

SELECT Sno,COUNT(*) 選課門數 
 FROM 表名
 WHERE Sdept IN ('計算機系','土木工程系','臨床醫學系') 
 GROUP BY Sno 
 HAVING COUNT(*) > 3
 ORDER BY Sage
 LIMIT 10

 

 這是書寫的格式規范,從上到下,一共七個關鍵字 select --> from -- >where --> group by--> having --> order by --> limit 

二、執行順序

 那執行順序是這樣嗎?肯定不是,要不然,就沒有寫這篇文章的意義了,電腦是由人控制,執行的思維是和我們人來大腦是一樣的,那么是什么個思維呢?

我們要要得到一些我們想要的數據,首先第一步,得去那些表當中,先進去表里面(有可能有很多張表),再根據條件去找,然后分組,再刷選, 再去尋找select,當拿到這些結果時,還要進行降序升序,最后,看我個人需求,需要找前幾條

 

執行順序: from --> where --> group by --> having > --select > --order by > --limit

 

如果有的網友,還是沒看懂執行順序,那我就給大家轉載一條鏈接 https://blog.csdn.net/junhongzhang/article/details/90746217,這個講的通俗透徹易懂

如果有的網友,這有很專業的版本,https://blog.csdn.net/u013887008/article/details/93377939,這個時一步一步的虛擬表合成,更專業一些


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM