MySQL 函式語法整理
資料記錄統計函式:
AVG(欄位名) //得出一個表格某個欄位的平均值
COUNT(*|欄位名) //對資料行數的統計或對某一欄位有值的資料行數統計
MAX(欄位名) //取得一個表格中某欄位的最大值
MIN(欄位名) //取得一個表格中某欄位的最小值
SUM(欄位名) //取得一個表格中某欄位的總和
-
CASE WHEN THEN 函式
語法: CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ……] [ELSE result ] END CASE WHEN [condition] THEN result [WHEN[condition] THEN result ……] [ELSE result] END ; -
IF 函式用法
語法: IF(expr1,expr2,expr3) -
IFNULL 函式
語法: IFNULL(expr1,expr2) -
函式 CONCAT(str1 ,str2 ,…)
函式使用說明:返回結果為連線引數產生的字串。如有任何一個引數為 NULL ,則
返回值為 NULL 。或許有一個或多個引數。 -
函式 CONCAT_WS(separator ,str1 ,str2 ,…)
函式使用說明: CONCAT_WS() 代表 CONCAT With Separator ,是 CONCAT() 的
特殊形式。 第一個引數是其它引數的分隔符。分隔符的位置放在要連線的兩個字串之間。分隔符可以是一個字串,也可以是其它引數。如果分隔符為 NULL ,則結果為 NULL 。函式會忽略任何分隔符引數後的 NULL 值。 -
函式 FORMAT(X ,D )
函式使用說明: 將 number X 設定為格式 ‘#,###,###.##’, 以四捨五入的方式保留到小數點後 D 位 , 而返回結果為一個字串。 -
函式INSTR(str,substr)
函式使用說明:返回字串 str 中子字串的第一個出現位置。這和LOCATE() 的雙引數形式相同,除非引數的順序被顛倒 -
函式LEFT(str,len)
函式使用說明:返回從字串str 開始的len 最左字元 -
函式 LOCATE(substr ,str ) , LOCATE(substr ,str ,pos )
函式使用說明:第一個語法返回字串 str 中子字串substr 的第一個出現位置。第二個語法返回字串 str 中子字串substr 的第一個出現位置, 起始位置在pos 。如若substr 不在str 中,則返回值為0 。 -
函式LOWER(str )
函式使用說明:返回字串 str 以及所有根據最新的字符集對映表變為小寫字母的字元 -
函式 SOUNDEX(str )
函式使用說明:從str 返回一個index字串。 兩個具有幾乎同樣探測的字串應該具有同樣的 index 字串。 -
函式SPACE(N )
函式使用說明:返回一個由N 間隔符號組成的字串 -
函式SUBSTRING(str ,pos ) , SUBSTRING(str FROM pos ) SUBSTRING(str ,pos ,len ) , SUBSTRING(str FROM pos FOR len )
函式使用說明:不帶有len 引數的格式從字串str 返回一個子字串,起始於位置 pos 。 -
函式 GROUP_CONCAT(expr )
函式使用說明:該函式返回帶有來自一個組的連線的非NULL 值的字串結果。 -
COALESCE()函式
COALESCE是一個函式, (expression_1, expression_2, …,expression_n)依次參考各參數列達式,遇到非null值即停止並返回該值。如果所有的表示式都是空值,最終將返回一個空值。使用COALESCE在於大部分包含空值的表示式最終將返回空值。特別是在做統計的時候,這個函式作為條件可以兼顧到一些特殊情況。
補:
- union和union all關鍵字都是將兩個結果集合併為一個,但這兩者從使用和效率上來說都有所不同
union在進行表連線後會篩選掉重複的記錄,所以在表連線後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。
如:
select * from test_union1
union
select * from test_union2
這個SQL在執行時先取出兩個表的結果,再用排序空間進行排序刪除重複的記錄,最後返回結果集,如果表資料量大的話可能會導致用磁碟進行排序。
而union all只是簡單的將兩個結果合併後就返回。這樣,如果返回的兩個結果集中有重複的資料,那麼返回的結果集就會包含重複的資料了。
從效率上說,union all要比union快很多,所以,如果可以確認合併的兩個結果集中不包含重複的資料的話,那麼就使用union all,如下:
select * from test_union1
union all
select * from test_union2
使用 union 組合查詢的結果集有兩個最基本的規則:
1、所有查詢中的列數和列的順序必須相同。
2、資料型別必須相容
還有我們其實在寫SQL語句的時候可以子查連表虛擬的臨時表這樣其實可以寫出不一樣的SQL,嘻嘻
相關文章
- mysql函式定義語法MySql函式
- JavaScript 函式語法JavaScript函式
- 【函式】Oracle TRIM函式語法介紹函式Oracle
- Generator函式語法解析函式
- gin框架函式語法框架函式
- scala語法 - 方法與函式函式
- 【轉】分析函式語法解析函式
- ES6語法(二) 函式函式
- Python 函式 類 語法糖Python函式
- 整理SQL語法SQL
- laravel函式整理Laravel函式
- 常用函式整理函式
- [Mysql 查詢語句]——集合函式MySql函式
- 探索MySQL高階語句(數學函式、聚合函式、字串函式、日期時間函式)MySql函式字串
- PHP 7.4 新語法:箭頭函式PHP函式
- python 基礎語法 - 函式(一)Python函式
- 語法:OVER(PARTITION BY)及開窗函式函式
- Xpath語法格式整理
- MySQL 5.7關於日期和時間的函式整理MySql函式
- Mysql小白語句整理MySql
- Dart語法篇之函式的使用(四)Dart函式
- SQL Server常用函式整理SQLServer函式
- MySQL 函式MySql函式
- MySQL函式MySql函式
- Python語法—函式及引數傳遞Python函式
- MySQL(四)日期函式 NULL函式 字串函式MySql函式Null字串
- 第五章:常用的高階函式和函式的補充語法函式
- 罰函式法函式
- Mysql 常用函式(15)- upper 函式MySql函式
- 【Mysql 學習】日期函式函式MySql函式
- Java基礎語法吐血整理Java
- MySQL隱式轉化整理MySql
- Python字串操作、函式整理Python字串函式
- MYSQL語法(一)MySql
- 常用MySQL語法MySql
- MySQL Join語法MySql
- mysql 語法1MySql
- mysql基本語法MySql