數(shù)據(jù)庫(kù)表的基本操作DQL2

#字段控制查詢

? ?去除重復(fù)記錄

? ? ? ?去除重復(fù)記錄(兩行或兩行以上記錄中系列的上的數(shù)據(jù)都相同),例如emp表中sal字段就 ? ? ? ? ?存在相同的記錄。當(dāng)只查詢emp表的sal字段時(shí),那么會(huì)出現(xiàn)重復(fù)記錄,那么想去除重復(fù)記 ? ? ? ? ?錄,需要使用DISTINCT:

? ? ? select distinct 字段的名字 from 表的名稱;

? ?兩列進(jìn)行運(yùn)算(為數(shù)值類型)

? ? ?select ? ?列名1+列名2 ? from ?表名;

? ? ?注意:如果字段中存在null 相加的結(jié)果還是null ? 所以用到了把null轉(zhuǎn)化為0的函數(shù) ifnull

? ? ?select ? ?列名1+ifnull(列名2,0) ?from 表名;

? ?給計(jì)算后的列名添加別名

? ? select 列名1+ifnull(列名2,0) ? 別名 ? from 表名;

#排序 order by

? ?語(yǔ)法 : order by ?列名 ?asc(默認(rèn)的 升序) ?或者 desc (降序)

#聚合函數(shù) ?sum avg max min count?

?count ?語(yǔ)法

? ? select count(*或者列名) ? as 別名 from ? 表名 where 條件語(yǔ)句;?

? ? 注意,count()函數(shù)中給出的是列,那么只統(tǒng)計(jì)列非NULL的行數(shù)。

sum 和avg 語(yǔ)法

? ?select sum或者avg(列名) from 表名;

max和min 語(yǔ)法

? select max或者min(列名) from 表名;

#分組查詢 group by?

注:凡和聚合函數(shù)同時(shí)出現(xiàn)的列名,一定要寫在group by之后

having 子句

? ? ?查詢工資總和大于9000的部門編號(hào)以及工資和:

? ? ?SELECT deptno, SUM(sal) ?FROM emp ? ?GROUP BY deptno ? ? HAVING SUM(sal) > 9000;

注:having與where的區(qū)別:

1.having是在分組后對(duì)數(shù)據(jù)進(jìn)行過濾.

where是在分組前對(duì)數(shù)據(jù)進(jìn)行過濾

2.having后面可以使用聚合函數(shù)(統(tǒng)計(jì)函數(shù))

where后面不可以使用聚合函數(shù)。

WHERE是對(duì)分組前記錄的條件,如果某行記錄沒有滿足WHERE子句的條件,那么這行記錄不會(huì)參加分組;而HAVING是對(duì)分組后數(shù)據(jù)的約束。

#限制查詢 limit?

? 語(yǔ)法:

? ? select * from 表名 ? limit ? 起始行,總行數(shù);?

#最后


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容