DQL
投影操作關鍵字select:
select * from 表名;
顯示表里面的所有列,先把數據查詢到內存里面,然后根據顯示字段產生表頭,繼續一一對應投影給到用戶顯示
注意:這里的select執行動作在from之后,甚至是在where之后執行的
?
select 小名.字段名1,小名.字段名2 from? 表名 as? ?表的小名? where 條件 order by? 字段名? 排序方式;
order by是排序的關鍵字使用,as的使用是對表名進行簡化的命名方便使用;默認是升序asc,降序desc
select 字段名 as? 字段的小名 from 表名 where 條件;
查詢顯示的時候列名為小明,字段名使用小名是為了更直觀的區分列
select 字段名運算 from 表名;
查詢到的數據進行運算而不會改變表中的數據
?
select? concat (字段名1,字段名2) as? ?新建的字段名? from 表名;
拼接字符串,新建字段名存放拼接后的字符串值
select? distinct? 重復字段名? from 表名;
使用該關鍵字的字段名必須是重復內容的,且只能是重復的
?
select? *? from? 表名 where 條件 limit? 起始位置? 查詢個數;
內存先讀取表中的數據,然后根據where條件篩選后從零開始給內容編號;where的條件可以是一個布爾表達式,起始位置是你想要顯示的開始,以及顯示多少行內容;內存里面的數據是從0開始匹配
select? *? from 表名? where 字段名? like? ' 內容 ';
內容里面寫你想要匹配的內容,其中 "%" 是表示有多個字符,下劃線 "_"表示匹配只有單個字符
?
select *? ?from? 表名? where? 字段名? is? null;
如果是想查詢null值的信息,需要用到is關鍵字;否則會將其當成布爾運算
select? *? ?from? 表名? where? 條件? ?order by? 字段名 排序方式,字段名? 排序方式;
雙重排序,先進行前面的排序,然后再相同的條件下再進行第二個字段的排序;升序為asc,降序desc
?
聚合函數
select? ?count ( * )? from 表名;
統計所有數據的行數,如果括號里具體到那一列的話只會統計非空行數;后面也可以加上統計的條件;括號里面的內容前面可以加上" distinct "來去重統計
select? sum ( 字段名 )? from? 表名 ;
針對某列的求和運算統計,字段名列必須是數值類型的列,字段名前面加上all是對該列的非空值進行求和,也可以加上distinct進行驅蟲求和
select? AVG ( 字段名 )? from? 表名;
針對某列進行求平均數,與求和函數一樣使用規則。應該注意的是,AVG計算的是所有有數據的行數進行計算統計的,沒有包含null值,所以其實結果是不嚴謹的
select? max/min? ( 字段名 )? from? 表名;
統計該列的最大值和最小值,使用規則一樣是針對數值類型的列
?
select? 聚合函數? form 表名? where? group by? 字段名;
根據字段名的分組來進行分組輸出統計;重點強調,分組操作是在內存里面進行的where條件執行之后的操作;
select? 字段名,聚合函數? from 表名 group by? 字段名? having 條件篩選;
having是在分組聚合函數統計之后進行的條件過濾
sql的執行順序:
?
轉載于:https://www.cnblogs.com/lloney0/p/11115698.html
總結
- 上一篇: 深入V8引擎-AST(2)
- 下一篇: step1 . day6 C语言基础练习