計算機, 程序設計
HAVING SQL:說明,語法,實例
SQL是有工作的標準語言 的關係型數據庫。 他在掌握了操縱存儲在表中的數據的一組功能強大的工具。
毫無疑問,一個特定的基礎上的能力,組數據的樣品中就是這樣一種工具。 SQL語句 連同HAVING WHERE子句允許您定義樣品的條件已經以某種方式將數據分組。
參數HAVING SQL:說明
首先,值得注意的是,這個參數是可選的,並與GROUP BY選項專門用於配合。 你還記得,在GROUP BY子句中使用時,在SELECT使用聚合函數和他們的計算結果來獲得一定的組別。 如果WHERE允許您將數據分組之前指定的選擇條件,在HAVING包含直接在團體本身有關數據已經規定。 為了更好的理解,讓我們走過一個例子,下圖給出的方案。
這是產生具有SQL描述一個很好的例子。 是的產品,公司生產它們,和其他一些領域的名單表。 在上右上角的查詢,我們正在試圖獲得多少種類的產品每家公司生產的信息,與我們要顯示僅產生2個以上項目的公司的結果。 GROUP BY選項對應於公司的名稱,其中每個已計數的產品(行)的數目三組構成。 但是,從得到的樣品設置你的HAVING條件隔間一組,因為它不符合條件。 其結果是,我們得到了相應的生產企業5和3的數量兩組。
這個問題可以,為什麼使用HAVING,如果有一個SQL WHERE出現。 如果我們使用WHERE,他會看著行的表中的總數,而不是群體,在這種情況下的條件就沒有意義。 然而,他們往往可以在一個單一的查詢生活。
在上面的例子中,我們可以看到第一有如何在代表在WHERE參數中指定的僱員的選擇數據,然後在GROUP BY結果分組附加地通過工資為每個員工的總和進行測試。
參數SQL HAVING:實例,語法
考慮到一些具有SQL語法功能。 此參數的描述是相當簡單的。 首先,如已經提到的,它是專門與參數GROUP BY結合使用,並表示隨即和ORDER BY之前,如果存在於該請求。 這是可以理解的,因為具有確定為已分組的數據的條件。 其次,在該參數的條件只有集合函數可以被使用,並且在字段參數GROUP BY列出。 在這個參數的所有情況表示的同樣的方式在哪裡的情況。
結論
正如你所看到的,沒有這個說法複雜沒有。 在語義上,它在相同的方式在使用。 只是相對於在參數GROUP BY定義的群體 - 理解和使用WHERE在所有選定的數據有它是非常重要的。 我們提出了HAVING SQL,這是足夠的自信操控的全面描述。
Similar articles
Trending Now