1. 程式人生 > >全面接觸SQL語法(4)

全面接觸SQL語法(4)

HAVING 條件子句

指定一特定的分組記錄,並滿足HAVING 所指定的條件或狀態,但條件是針對分組的條件設定。

SELECT fieldlist

FROM table

WHERE selectcriteria

GROUP BY groupfieldlist

HAVING groupcriteria

fieldlist

顯示被查詢的欄位名稱。(可與ALL,DISTINCT,DISTINCTROW,或TOP相結合)

table

欲查詢資料的表格名稱。

selectcriteria

選取標準。

groupfieldlist

分組記錄的欄位名稱,到多10個欄位。而這些欄位的順序決定最高到最低的分組階層。

groupcriteria

決定什麼樣的分組記錄要被顯示。

HAVING跟WHERE 的用法相當類似,不同之處在於HAVING必須用於GROUP之後的分組資料上。

例如:

SELECT 分類編,Sum(庫存數量)

FROM 產品表格

GROUP BY 分類編號

HAVING Sum(庫存數量)> 100 AND 產品名稱 LIKE "*紙";

GROUP BY 條件子句

依據指定的欄位,將具有相同數值的記錄合併成一條。

SELECT fieldlist

FROM table

WHERE criteria

GROUP BY groupfieldlist

fieldlist

欲讀取的欄位名稱。(可與ALL,DISTINCT,DISTINCTROW,或TOP合併使用)

table

被查詢的表格名稱。

groupfieldlist

分組記錄的欄位名稱,到多10個欄位,而這些欄位的順序決定最高到最低的分組層次。

例如:

SELECT 姓名,Count(姓名)AS 職員姓名

FROM 職員表格

WHERE 部門名稱='業務部'

GROUP BY 姓名

FROM 條件子句

指定表格名稱或是查詢,其中包含列在SELECT語句的欄位資料。

SELECT fieldlist

FROM tableexpression[IN externaldatabase]

fieldlist

表格中的欄位名稱。(可與ALL,DISTINCT,DISTINCTROW,或TOP相結合)

tableexpression

表格名稱,或多個表格的算式。

externaldatabase

若該表格參考到外部的資料庫時,將其完整的路徑名稱記下。

例如:

從職員表格下,查詢出所有姓名欄位的資料(只有姓名欄位被查詢,其他則不顯示)。

SELECT 姓名 FROM 職員表格;

WHERE 條件子句

指定查詢的條件與限制。

SELECT fieldlist

FROM tableexpression

WHERE criteria

fieldlist

欄位名稱。(可與ALL,DISTINCT,DISTINCTROW,或TOP相結合)

tableexpression

表格名稱,或多個表格的算式。

criteria

查詢的結果,必須依照這一限制標準。

例如:

要查詢出職員表格中,所有姓氏是李的資料,可以用下面的語句。

SELECT 姓名

FROM 職員表格

WHERE 姓氏='李';