Group By 和 Having, Where ,Order by语句的执行顺序
一个SQL语句往往会产生多个临时视图,那么这些关键字的执行顺序就非常重要了,因为你必须了解这个关键字是在对应视图形成前的字段进行操作还是对形成的临时视图进行操作,这个问题在使用了别名的视图尤其重要。 Group By 和 Having, Where ,Order by这些关键
一个SQL语句往往会产生多个临时视图,那么这些关键字的执行顺序就非常重要了,因为你必须了解这个关键字是在对应视图形成前的字段进行操作还是对形成的临时视图进行操作,这个问题在使用了别名的视图尤其重要。
Group By 和 Having, Where ,Order by这些关键字是按照如下顺序进行执行的:Where, Group By, Having, Order by。
- 首先where将最原始记录中不满足条件的记录删除(所以应该在where语句中尽量的将不符合条件的记录筛选掉,这样可以减少分组的次数)
- 然后通过Group By关键字后面指定的分组条件将筛选得到的视图进行分组
- 接着系统根据Having关键字后面指定的筛选条件,将分组视图后不满足条件的记录筛选掉
- 最后按照Order By语句对视图进行排序,这样最终的结果就产生了。
在这四个关键字中,只有在Order By语句中才可以使用最终视图的列名,如:
<code>SELECT FruitName, ProductPlace, Price, ID AS IDE, Discount FROM T_TEST_FRUITINFO WHERE (ProductPlace = N'china') ORDER BY IDE </code>
这里只有在ORDER BY语句中才可以使用IDE,其他条件语句中如果需要引用列名则只能使用ID,而不能使用IDE。
PS:
-
凡是在group by后面出现的字段,必须同时在select后面出现;
-
凡是在select后面出现的、同时未在聚合函数中出现的字段,必须同时出现在group by后面.
-
having 子句被限制子已经在SELECT语句中定义的列和聚合表达式上。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

自動化和任務調度在簡化軟體開發中的重複任務方面發揮著至關重要的作用。想像一下,有一個Python腳本需要每5分鐘執行一次,例如從API取得資料、執行資料處理或發送定期更新。如此頻繁地手動運行腳本可能非常耗時且容易出錯。這就是任務調度的用武之地。在這篇文章中,我們將探討如何安排Python腳本每5分鐘執行一次,確保它自動運行而無需手動幹預。我們將討論可用於實現此目標的不同方法和程式庫,使您能夠有效地自動化任務。使用time.sleep()函數每5分鐘運行一次Python腳本的簡單方法是利用tim

如何使用Python在Linux中進行腳本編寫和執行在Linux作業系統中,我們可以使用Python編寫並執行各種腳本。 Python是一種簡潔而強大的程式語言,它提供了豐富的函式庫和工具,使得腳本編寫變得更加簡單和有效率。以下我們將介紹在Linux中如何使用Python進行腳本編寫和執行的基本步驟,同時提供一些具體的程式碼範例來幫助你更好地理解和運用。安裝Pytho

Brown-Forsythe檢定是一種統計檢驗,用於確定兩個或多個組別的變異數是否相等。 Levene檢定使用與平均數的絕對偏差,而Brown-Forsythe檢定則使用與中位數的偏差。檢定中使用的原假設如下-H0:組(總體)的方差相等備擇假設是方差不相等-H1:組(群體)的方差不相等為了執行測試,我們計算每組的中位數以及與中位數的絕對偏差。然後我們根據這些偏差的變異數計算F統計量。假設計算出的F統計量大於F分佈表中的臨界值。在這種情況下,我們拒絕原假設並得出結論:各組的變異數不相等。在Python中,sc

Laravel集合中的Where方法實用指南在Laravel框架的開發過程中,集合(Collection)是一個非常有用的資料結構,它提供了豐富的方法來操作資料。其中,Where方法是常用的篩選方法,能夠根據指定條件來過濾集合中的元素。本文將介紹Laravel集合中Where方法的使用,透過具體的程式碼範例來示範其用法。 1.基本用法Where方法的

怎樣在瀏覽器中編寫PHP程式碼並保持程式碼不被執行?隨著網路的普及,越來越多的人開始接觸網頁開發,其中對於PHP的學習也越來越受到關注。 PHP是一種在伺服器端運行的腳本語言,通常用於編寫動態網頁。然而,在練習階段,我們希望能夠在瀏覽器中編寫PHP程式碼並查看結果,但又不希望程式碼被執行。那麼,如何實現在瀏覽器中編寫PHP程式碼並保持不被執行呢?以下將詳細介紹。首先,

ANCOVA(協方差分析)是一種有用的統計方法,因為它可以在分析中包含協變量,這可以幫助調整輔助變量並增加組間比較的精確度。這些額外的因素或協變量可以透過使用ANCOVA將其納入研究中。為了確保觀察到的組間差異是由研究中的治療或介入引起的,而不是由無關因素引起的,可以使用ANCOVA來調整協變量對組別平均值的影響。這可以使組間比較更準確,並給出更可靠的關於變數之間關係的結論。在本文中,我們將仔細研究ANCOVA並在Python中實作。什麼是ANCOVA?協方差分析(ANCOVA)方法比較兩個或多個組別

Laravel集合中如何使用Where方法Laravel是一個流行的PHP框架,它提供了豐富的功能和工具,方便開發者快速建立應用程式。其中,集合(Collection)是Laravel中一個非常實用且強大的資料結構,開發者可以使用集合對資料進行各種操作,例如過濾、映射、排序等。在集合中,Where方法是一個常用的方法,用於根據指定的條件過濾集

從入門到精通:掌握is與where選擇器的使用技巧引言:在進行資料處理與分析的過程中,選擇器(selector)是一項非常重要的工具。透過選擇器,我們可以按照特定的條件從資料集中提取所需的資料。本文將介紹is和where選擇器的使用技巧,幫助讀者快速掌握這兩個選擇器的強大功能。一、is選擇器的使用is選擇器是一種基本的選擇器,它允許我們根據給定條件對資料集進
