虛擬結(jié)果集
即查詢出來的結(jié)果,我們稱之虛擬結(jié)果集,存放再內(nèi)存里面,下次進(jìn)來就沒了
查詢所有列
SELECT * FROM 表名;
結(jié)果集
- 數(shù)據(jù)庫(kù)執(zhí)行DQL語句不會(huì)對(duì)數(shù)據(jù)進(jìn)行改變,而是讓數(shù)據(jù)庫(kù)發(fā)送結(jié)果集給客戶端.
- 結(jié)果集:
- 通過查詢語句查詢出來的數(shù)據(jù)以表的形式展示,我們稱這個(gè)表為虛擬結(jié)果集.存放再內(nèi)存中
- 查詢返回的結(jié)果集就是一張?zhí)摂M表
查詢指定的列
SELECT 列名1,列名2 FROM 表名;
條件查詢
- 條件查詢就是在查詢時(shí)給出WHERE子句,在WHERE子句中可以使用一些運(yùn)算符以及關(guān)鍵字
- 條件查詢運(yùn)算符以及關(guān)鍵字
- BETWEEN...AND; 值在什么范圍
- IN(set);
- IS NULL; (為空)
- IS NOT NULL; (不為空)
- AND; 與
- OR; 或
- NOT; 非
模糊查詢
- 根據(jù)指定的關(guān)鍵字進(jìn)行查詢
- 使用LIKE關(guān)鍵字后跟通配符
- 通配符
- _ : 任意一個(gè)字母
- %: 任意0~n個(gè)字母
去除重復(fù)記錄
SELECT DISTINCT 列名 FROM 表名;
把查詢字段的結(jié)果進(jìn)行運(yùn)算,必須都要是數(shù)值型
SELECT *,字段1+字段2 FROM 表名;
-
列有很多記錄的值為null,因?yàn)槿魏螙|西與NULL相加的結(jié)果還是NULL,所以結(jié)算結(jié)果可能會(huì)出現(xiàn)NULL,下面使用了把NULL轉(zhuǎn)化成數(shù)值0的函數(shù)IFNULL:
SELECT *,age+IFNULL(score,0) FROM students;
對(duì)查詢結(jié)果起別名
-
在上面的查詢中出現(xiàn)列名為sx+IFNULL(yw,0),這很不美觀,現(xiàn)在我們給這一列起一個(gè)別名,為total:
SELECT *,yw+IFNULL(sx,0) AS total FROM score; # 省略 AS SELECT *,yw+IFNULL(sx,0) total FROM score;
排序
- 關(guān)鍵字 ORDER BY
- 排序類型(默認(rèn)是ASC))
- 升序ASC 從小到大
- 降序DESC 從大到小
SELECT * FROM 表名 ORDER BY 列名 DESC(一級(jí)別排序), 列名 DESC(二級(jí)別排序),...(n級(jí)別排序);