1. 程式人生 > >SQL操作知識總結(三)

SQL操作知識總結(三)

5-1,SQL函式

很多情況,SQL語句都要用函式做些加工,這時候SQL函式就派上用場了,範例程式碼如下:

SELECT vend_name, UPPER(vend_name) AS vend_name_upcase
FROM Vendors

ORDER BY vend_name;      UPPER(vend_name)AS vend_name_upcase,就是把vend_name欄位的字串資料再命名並大寫。

類似的LOWER()就是字串小寫,RTRIM()去掉右邊字串。

其中,很重要的一個函式就是日期函式,但可移植性很差,不同資料庫語法有些差異。

 SQL Server:

SELECT order_num
FROM Orders

WHERE DATEPART(yy, order_date) = 2012;   從Orders表中,選擇order_date = 2012的資料

在 Access中使用如下版本:

SELECT order_num
FROM Orders

WHERE DATEPART('yyyy', order_date) = 2012;   同上。

還有一些數學函式如下:

ABS()  返回一個數的絕對值
PI()  返回圓周率
SQRT()  返回一個數的平方根

6-1,聚集函式

SELECT AVG(prod_price) AS avg_price

FROM Products;     AVG(prod_price) AS avg_price返回Products 表中所有產品的平均價格

SELECT COUNT(*) AS num_cust

FROM Customers;  COUNT(*)   AS num_cust對錶中行的數目進行計數。  COUNT(某列) AS num_cust是對錶的某列有值的行就行計數 。記住  COUNT(*) 是不管有沒有值都進行計數,COUNT(某列)是隻對列中有值的行進行計數。

SELECT MAX(prod_price) AS max_price

FROM Products;     返回列中最大值  MIN()返回最小值

SELECT SUM(quantity) AS items_ordered
FROM OrderItems

WHERE order_num = 20005;   SUM(quantity) AS items_ordered   統計order_num = 20005 的欄位為quantity的數值之和

未完待續