數(shù)據(jù)查詢語言DQL
單表查詢:
全表查詢:select * from 表名;
查詢指定列:select 字段1[,字段2,…] from 表名;
別名的設(shè)置:select 字段名[ as] 列別名 from 原表名 [as ]表別名;
查詢不重復(fù)的記錄:select distinct 字段名 from 表名;
條件查詢:select 字段1[,字段2,…] from 表名 where 查詢條件;
空值查詢:select 字段1[,字段2,…] from 表名 where 空值字段 is[ not] null;
模糊查詢: select 字段1[,字段2,…] from 表名 where 字符串字段[ not] like 通配符;
百分號(%)通配符:匹配多個字符
下劃線(_)通配符:匹配一個字符
模糊查詢只能用于字符串類型的字段
查詢結(jié)果排序:select 字段1[,字段2,…] from 表名 order by 字段1[ 排序方向,字段2 排序方向,…];
多字段排序時,先按第一個字段排序,第一個字段值相同時再按第二個字段排序
指定排序方向:asc升序,desc降序(沒有指定排序方向時,默認(rèn)是asc升序)
限制查詢結(jié)果數(shù)量:select 字段1[,字段2,…] from 表名 limit [偏移量,] 行數(shù);
limit接受一個或兩個數(shù)字參數(shù),參數(shù)必須是一個整數(shù)常量
第一個參數(shù)指定第一個返回記錄行的偏移量,第二個參數(shù)指定返回記錄行的最大數(shù)目
如果只給定一個參數(shù),表示返回最大的記錄行數(shù)目
初始記錄行的偏移量是0(而不是1)
聚合查詢
分組結(jié)果中只能顯示分組字段、聚合字段以及跟分組字段一一對應(yīng)的字段
聚合函數(shù):SUM() 對一個數(shù)值字段求和
AVG() 對一個數(shù)值字段求平均值
MAX() 對一個數(shù)值或日期時間字段求最大值
MIN() 對一個數(shù)值或日期時間字段求最小值
COUNT() 對一個或多個字段計數(shù)
分組查詢:select 字段1[,字段2,…] from 表名[ where 查詢條件] group by 分組字段1[,分組字段2,…];
將查詢結(jié)果按照一個或多個字段進(jìn)行分組,字段值相同的為一組,對每個組進(jìn)行聚合計算
分組后篩選:select 字段1[,字段2,…] from 表名[ where 查詢條件][ group by 分組字段1[,分組字段2,…]] having 篩選條件;
where與having的區(qū)別:
where子句作用于表,having子句作用于組。
where條件查詢的作用域是針對數(shù)據(jù)表進(jìn)行篩選,而having條件查詢則是對分組結(jié)果進(jìn)行過濾。
where在分組和聚合計算之前篩選行,而having 在分組和聚合之后篩選分組的行,因此where子句不能包含聚合函數(shù)。
select語句書寫順序
select語句執(zhí)行順序
FROM --> WHERE --> GROUP BY --> HAVING --> SELECT --> ORDER BY --> LIMIT








暫無數(shù)據(jù)