天天看點

MySQL資料庫學習筆記(四)----MySQL聚合函數、控制流程函數(含navicat軟體的介紹)

【正文】

一、navicat的引入:(第三方可視化的用戶端,友善mysql資料庫的管理和維護)

navicattm是一套快速、可靠并價格相宜的資料庫管理工具,專為簡化資料庫的管理及降低系統管理成本而設。它的設計符合資料庫管理者、開發人員及中小企業的需要。navicat 是以直覺化的圖形使用者界面而建的,讓你可以以安全并且簡單的方式建立、組織、通路并共用資訊。

navicat 是聞名世界、廣受全球各大企業、政府機構、教育機構所信賴,更是各界從業員每天必備的工作夥伴,被公認為全球最受歡迎的mysql前端使用者介面工具。它可以用來對本機或遠端的 mysql、sql server、sqlite、oracle 及 postgresql 資料庫進行管理及開發。

二、navicat的安裝:

MySQL資料庫學習筆記(四)----MySQL聚合函數、控制流程函數(含navicat軟體的介紹)

下載下傳所需要的版本即可。

安裝之後,打開的界面如下:

MySQL資料庫學習筆記(四)----MySQL聚合函數、控制流程函數(含navicat軟體的介紹)

我們可以在navicate的查詢編輯器中輸入指令,然後點選“運作”,檢視結果:

MySQL資料庫學習筆記(四)----MySQL聚合函數、控制流程函數(含navicat軟體的介紹)

二、常見聚合函數:(聚合即彙總的意思)

常見聚合函數如下:

1、avg:求平均值

2、count

3、min / max

4 sum

我們拿下面的這張表舉例:

MySQL資料庫學習筆記(四)----MySQL聚合函數、控制流程函數(含navicat軟體的介紹)

解釋:傳回expr 的平均值。 distinct 選項可用于傳回 expr的不同值的平均值。

舉例:查詢年齡的平均值。指令及結果如下:

MySQL資料庫學習筆記(四)----MySQL聚合函數、控制流程函數(含navicat軟體的介紹)

2、count(expr):傳回select語句檢索到的行的數目。

select count(*) from tab_teacher;   --傳回檢索行的數目,不論其是否包含null值;

select count(name) from tab_teacher;  --傳回select語句檢索到的行中非null值的數目.

3、min/max:求最小、最大值。

MySQL資料庫學習筆記(四)----MySQL聚合函數、控制流程函數(含navicat軟體的介紹)

4、sum:求和

MySQL資料庫學習筆記(四)----MySQL聚合函數、控制流程函數(含navicat軟體的介紹)

三、控制流程函數:

常見的控制流程函數如下:

case 

if

ifnull

nullif

我們依舊用下面的這張表格來舉例:

MySQL資料庫學習筆記(四)----MySQL聚合函數、控制流程函數(含navicat軟體的介紹)

1、case:

解釋:用value值來比對,如果value1和value比對,則傳回result1 ,如果value2和value比對,則傳回result2,以此類推;否則,傳回else後的result3。;如果沒有else部分的值,則傳回值為null。這種句型類似于java當中的switch···case···default···。

舉例:

MySQL資料庫學習筆記(四)----MySQL聚合函數、控制流程函數(含navicat軟體的介紹)

2、if:

解釋:如果表達式expr1是true ,則 if()的傳回值為expr2; 否則傳回值則為 expr3。類似于三目運算符。

MySQL資料庫學習筆記(四)----MySQL聚合函數、控制流程函數(含navicat軟體的介紹)

3、ifnull:

解釋:假如expr1不為null,則函數傳回值為 expr1; 否則,如果如expr1為null,函數傳回值為expr2。

MySQL資料庫學習筆記(四)----MySQL聚合函數、控制流程函數(含navicat軟體的介紹)

4、nullif:

解釋:如果expr1 = expr2成立,那麼傳回值為null,否則傳回值為expr1

MySQL資料庫學習筆記(四)----MySQL聚合函數、控制流程函數(含navicat軟體的介紹)