SQL語句執行順序

2022-09-11 10:36:13 字數 941 閱讀 1520

(1).from 子句, 組裝來自不同資料來源的資料

(2).where 子句, 基於指定的條件對記錄進行篩選

(3).group by 子句, 將資料劃分為多個分組

(4).使用聚合函式進行計算

(5).使用 h**ing 子句篩選分組

(6).計算所有的表示式

(7).使用 order by 對結果集進行排序

● select[distinct]

● from

● where

● group by

● h**ing

● union

● order by

舉例說明: 在學生成績表中 (暫記為 tb_grade), 把 "考生姓名"內容不為空的記錄按照 "考生姓名" 分組, 並且篩選分組結果, 選出 "總成績" 大於 600 分的.

標準順序的 sql 語句為:

select 考生姓名, max(總成績) as max總成績

from tb_grade

where 考生姓名 is not null

group by 考生姓名

h**ing max(總成績) > 600

order by max總成績

在上面的示例中 sql 語句的執行順序如下:

(1). 首先執行 from 子句, 從 tb_grade 表組裝資料來源的資料

(2). 執行 where 子句, 篩選 tb_grade 表中所有資料不為 null 的資料

(3). 執行 group by 子句, 把 tb_grade 表按 "學生姓名" 列進行分組

(4). 計算 max() 聚集函式, 按 "總成績" 求出總成績中最大的一些數值

(5). 執行 h**ing 子句, 篩選課程的總成績大於 600 分的.

(7). 執行 order by 子句, 把最後的結果按 "max 成績" 進行排序.

SQl語句執行順序

在程式設計的時候,每個語言的一行 都是有執行順序,比如從右往左或者從左往右,在大部分的時候是不影響,但有些時候,執行順序卻有非常大的影響。int i 0 if i 0 i 0 if i 0 i 0 第一種情況會執行,第二種情況不會執行,因為判斷是從右往左判斷,條件不成立馬上就結束,第二種情況先判斷i...

SQL語句執行順序

from或join會第乙個執行,確定乙個整體的資料範圍.如果要join不同表,可能會生成乙個臨時table來用於 下面的過程。總之第一步可以簡單理解為確定乙個資料來源表 含臨時表 我們確定了資料 where語句就將在這個資料來源中按要求進行資料篩選,並丟棄不符合要求的資料行,所有的篩選col屬性 只...

sql語句not and or執行順序

今天的 中很悲催的出現了資訊洩漏的情況,開始我怎麼都不肯相信,首先自信自己的程式設計技術,其次自信自己對業務邏輯的理解,最後徹查 的時候,卻發現問題出現在sql語句的邏輯判斷上,這裡記錄一下吧 首先,sql語句中邏輯運算子優先順序跟c一樣,not and or c裡面是 select from ta...