做網(wǎng)站素材在哪里找網(wǎng)站seo平臺
目錄
1.常用函數(shù)
1.字符串函數(shù)
2.時間日期函數(shù)?
3.聚合函數(shù)?
4.數(shù)學函數(shù)?
2.分布查詢?
3.子查詢基礎?
1.簡單子查詢?
1.常用函數(shù)
在程序開發(fā)過程中,除了簡單的數(shù)據(jù)查詢,還有基于已數(shù)據(jù)進行數(shù)據(jù)的統(tǒng)計分析計算等需求。因此,在SQL中將一些常用的數(shù)據(jù)處理操作封裝起來,作為函數(shù)提供給程序員使用。這大提高了程序員的開發(fā)效率。本次將介紹在MySQL中支持常用函數(shù)。
1.字符串函數(shù)
在數(shù)據(jù)庫開發(fā)過程中,經(jīng)常需要對字符串進行各種處理,MySQL提供了豐富的字符串處理函數(shù)提供給程序使用。MySQL中常用的字符串處理函數(shù)如下表所示。
2.時間日期函數(shù)?
在實際的業(yè)務中 ,經(jīng)常會涉及時間日期的處理。例如,在hospital數(shù)據(jù)庫中,prescription表的examDate列記錄了檢查時間此處在開發(fā)系統(tǒng)時就需要用到時間日期函數(shù)獲取當前日期。MySQL中常用的日期函數(shù)。
3.聚合函數(shù)?
聚合函數(shù)用來對已有數(shù)據(jù)進行匯總,常見的有求和、求均值、最大值和最小值等。MySQL中常用的聚合函數(shù)。
4.數(shù)學函數(shù)?
在一些場景下,在開發(fā)過程中還需要進行數(shù)值運算。MySQL中常用的數(shù)學函數(shù)。
2.分布查詢?
在MySQL中,指定查詢結果返回條數(shù)的語法與SQL Server不同。MySQL沒有top關鍵字,而是使用LIMIT子句實現(xiàn)指定返回查詢結果條數(shù)的目的。語法格式如下所示。
SELECT <字段名列表> FROM <表名或視圖> [WHERE<查詢條件>] [GROUP BY<分組的字段名>]
[ORDER BY <排序的列名>[ASC或DESC]] [LTMIT [位置偏移量,]行數(shù)];
其中:
- 位置位移量表示從結果集的第幾條數(shù)據(jù)開始選取(記錄的偏移位置從0開始計數(shù),表示第1條記錄、第2條記錄的偏移位置是1,以此類推)。位置偏移量參數(shù)為可選參數(shù),省略時,從第1條記錄開始選取。
- 行數(shù)指以偏移位置為起點,選取記錄的條數(shù)。?
在實際的開發(fā)過程中,LIMIT子句常用來實現(xiàn)數(shù)據(jù)的分頁查詢,比較典型的例子是百度搜索時搜索結果的分頁。從這里可以看出,分頁的意思是,從一批結果數(shù)據(jù)中,規(guī)定每頁顯示數(shù)據(jù)的條數(shù),從從結果集的某一位置截取一頁數(shù)據(jù),在開發(fā)實踐中,LIMIT子句經(jīng)常和ORDER BY子句一起使用,即先對查詢結果進行排序,然后根據(jù)LIMIT子句的參數(shù)返回指定的數(shù)據(jù)。
3.子查詢基礎?
1.簡單子查詢?
?什么是子查詢呢?使用子查詢能解決什么樣的問題呢?我們首先看看下面的內容。
從升級后的代碼中可以看出兩條查詢語句被合并成了一條語句。即內層語句是外層語句的子查詢,子查詢在WHERE子句中的語法格式如下。
SELECT ······ FROM 表1 WHERE 字段1 比較運算符 (子查詢);
其中:
- 子查詢語句必須放在括號中,括號外面的查詢被稱為父查詢。
- 比較運算符包括>、>=、=、<、<=、子查詢和比較運算符聯(lián)合使用時必須保證子查詢的結果不能多于一個。
- 先執(zhí)行求出子查詢的值,再執(zhí)行父查詢,返回最后的結果。
- 由函數(shù)運算獲得的計算結果不能直接用來WHERE子句中,使用子查詢可以將函數(shù)運算結果作為父查詢的條件使用。?
在別外通常會用在表名或字段上。以給表起別名為例,主要有以下兩種方法。
- 使用AS關鍵字,符合ANSI標準。語法格式如下。
-
?SELECT 字段列表 FROM 表名 AS 表的別名;
- 使用空格,這是較為簡便的方法。語法格式如下。
-
SELECT 字段列表 FROM 表名 表的別名;