常用的SQL語句小結(二)---普通查詢,註釋

1.普通查詢

(1)查詢所有列

SELECT * FROM Product;

(2)查詢部分列(跟(1)對比,相當於可以自己確定順序)

SELECT product_id, product_name, product_type, sale_price,purchase_price, regist_date FROM Product;

(3)查詢時設置別名,英文和中文的區別

英文案例:

SELECT product_id AS id,product_name AS name,purchase_price AS price FROM Product;

中文案例:(注意是雙引號)

SELECT product_id AS "商品編號",product_name AS "商品名稱",purchase_price AS "進貨單價" FROM Product;

(4)常數作爲列

SELECT '商品' AS string, 38 AS number, '2009-02-24' AS date,product_id, product_name FROM Product

(5)查詢結構中刪除重複行(DISTINCT 關鍵字只能用在第一個列名之前 )
SELECT DISTINCT product_type FROM Product; 
說明:NULL也被認爲是一類數據,如果有多條也會只顯示一條

(6)根據WHERE語句選擇查詢

 

SELECT product_name, product_type FROM Product WHERE product_type = '衣服';

(7)取出數據爲NULL或不爲NULL的查詢(不能用=NULL,NULL不能使用比較運算符)(另外,NULL值儘量少用,工作的公司要求數字類型必須設置NOT NULL約束)

爲NULL:

SELECT product_name, purchase_price FROM Product WHERE purchase_price IS NULL;

不爲NULL:

SELECT product_name, purchase_price FROM Product WHERE purchase_price IS NOT NULL;

2.註釋的寫法

1行註釋
書寫在“--”之後,只能寫在同一行。 (MySql需要在--之後加入空格,否則不會被認爲是註釋)
多行註釋
書寫在“/*”和“*/
”之間,可以跨多行

案例:

-- 本SELECT語句會從結果中刪除重複行。
SELECT DISTINCT product_id, purchase_price FROM Product;

/* 本SELECT語句,
會從結果中刪除重複行。 */
SELECT DISTINCT product_id, purchase_price FROM Product;

 

3.聚合

常用的聚合函數:

COUNT: 計算表中的記錄數(行數)
SUM: 計算表中數值列中數據的合計值
AVG: 計算表中數值列中數據的平均值
MAX: 求出表中任意列中數據的最大值
MIN
: 求出表中任意列中數據的最小值


(1)查詢行總數(5個函數裏唯一可以用*爲參數的聚合函數,也是唯一不排除NULL值的聚合函數,其他函數都直接排除NULL值)

SELECT COUNT(*) FROM product;

(2)查詢purchase_price字段不爲NULL的行總數

SELECT COUNT(purchase_price) FROM product;

(3)計算合計值

SELECT SUM(sale_price), SUM(purchase_price) FROM Product; 
(4)計算平均值(不把NULL值的行數算入分母,如果要將NULL值當作0,記錄算入分母參考複雜查詢的)

SELECT AVG(sale_price), AVG(purchase_price) FROM Product;

(5)計算最大值和最小值(幾乎適用於所有數據類型的列,而SUM和AVG只適合數字類型的列)

SELECT MAX(sale_price), MIN(purchase_price) FROM Product;

(6)計算去除重複值的行總數

SELECT COUNT(DISTINCT product_type) FROM Product;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章