學習《MySQL必知必會》筆記二(第10章-13章)

一、創(chuàng)建計算字段
1、拼接
SELECT CONCAT(vend_name,' (',vend_country,')')
FROM vendors
ORDER BY vend_name;
以上的SELECT語句連接以下4個元素:
☆存儲在vend_name列中的名字
☆包含一個空格和一個左圓括號的串
☆存儲在vend_country列中的國家
☆包含一個右圓括號的串
2、使用MySQL的RTRIM()去掉串右邊的空格,LTRIM()去掉串左邊的空格,TRIM()去掉串左右兩邊的空格
SELECT CONCAT(RTRIM(vend_name),' (',RTRIM(vend_country),')')
FROM vendors
ORDER BY vend_name;
3、使用別名
SELECT CONCAT(RTRIM(vend_name),' (',RTRIM(vend_country),')') AS vend_title
FROM vendors
ORDER BY vend_name;
二、使用數(shù)據(jù)處理函數(shù)
大多數(shù)SQL實現(xiàn)支持以下類型的函數(shù):
□用于處理文本串(如刪除或填充值,轉換值為大寫或小寫)的文本函數(shù)
□用于在數(shù)值數(shù)據(jù)上進行算術操作(如返回絕對值,進行代數(shù)運算)的數(shù)值函數(shù)
□用于處理日期和時間值并從這些值中提取特定成分(例如,返回兩個日期之差,檢查日期有效性等)的日期和時間函數(shù)
□返回DBMS正使用的特殊信息(如返回用戶登錄信息,檢查版本細節(jié))的系統(tǒng)函數(shù)
1.文本處理函數(shù)

常用的文本處理函數(shù)

SOUNDEX是一個將任何文本串轉換為描述其語音表示的字母數(shù)字模式的算法。
例如customers表中有一個顧客Coyote Inc.,其聯(lián)系名為Y.Lee,但如果這是輸入錯誤,此聯(lián)系名實際應該是Y.Lie。
SELECT cust_name,cust_contact
FROM customers
WHERE SOUNDEX(cust_contact)=SOUNDEX('Y.Lie');
2.日期和時間處理函數(shù)
常用日期和時間處理函數(shù)

SELECT cust_id,order_num
FROM orders
WHERE Date(order_date)BETWEEN'2005-09-01'AND'2005-09-30';
=SELECT cust_id,order_num
FROM orders
WHERE Year(order_date)=2005 AND Month(order_date)=9;
3.數(shù)值處理函數(shù)
常用數(shù)值處理函數(shù)

三、匯總數(shù)據(jù)
1.聚集函數(shù)
聚集函數(shù)運行在行組上,計算和返回單個值的函數(shù)。

①AVG()函數(shù)---可用來返回所有列的平均值,也可以用來返回特定列或行的平均值。
例:使用AVG()返回products表中所有產品的平均價格:
SELECT AVG(prod_price)AS avg_price
FROM products
WHERE vend_id =1003;
②COUNT()函數(shù)

③MAX()/MIN()函數(shù)
④SUM()函數(shù)
SUM()可以用來返回指定列值的和,也可以用來合計計算值。

☆除了
不會忽略NULL值外這幾個常用聚集函數(shù)都忽略列值為NULL的行。
2.聚集不同值
用DISTINCT關鍵字聚集不同值:

3.組合聚集函數(shù)
輸入:

輸出:

四、分組數(shù)據(jù)
1.創(chuàng)建分組
使用GROUP BY子句分組

另外,使用WITH ROLLUP關鍵字,可以得到每個分組以及每個分組匯總級別(針對每個分組)的值。例如:

輸出:

2.過濾分組---HAVING子句
例如:

☆WHERE過濾行,Having過濾分組。

上面的例子,WHERE子句過濾所有prod_price至少為10的行,然后按vend_id分組數(shù)據(jù),HAVING子句過濾計數(shù)為2或2以上的分組。
3.分組和排序---group by+order by
輸入:

輸出:

4.SELECT子句順序(回顧)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1.表中的任何列都可以作為主鍵, 只要它滿足以下條件:任意兩行都不具有相同的主鍵值;每一行都必須具有一個主鍵值( ...
    Cherryjs閱讀 838評論 0 0
  • 數(shù)據(jù)庫入門 數(shù)據(jù)庫: 保存有組織的數(shù)據(jù)的容器(通常是一個文件或一組文件).數(shù)據(jù)庫軟件應該稱為 DBMS(DataB...
    Mjericho閱讀 574評論 0 0
  • 眨眼之間,已經不知過了多少個春秋…… 又是一年夏季。酒吞已經習慣了自己一人坐在緣側自飲。想起茨木過了成人禮后兩人坐...
    云中山鬼閱讀 662評論 0 1
  • 最幸福的就是我了,難得的周六早晨一覺睡到自然醒已是快九點了,真真的好舒服呀,最近的自己越來越愛自己了,犯不著為那些...
    那一年的初夏閱讀 141評論 0 0
  • 自八月初回來便百無聊賴,隨著暑假的尾巴到來之際,作為實習生的我無疑是高興的,本來實習地也塵埃落定,誰知,上天總...
    蔣小玉閱讀 196評論 0 1

友情鏈接更多精彩內容