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