MySQL——單表查詢

單表查詢


單表查詢語(yǔ)句
執(zhí)行順序 表單查詢語(yǔ)句 各組成部分的作用
1 WHERE ... 對(duì)表中記錄的第一次篩選
2 GROUP BY ... 分組
3 SELECT ... (聚合函數(shù)) ...FROM 表名 基本結(jié)構(gòu)(對(duì)字段進(jìn)行聚合處理)
4 HAVING ... 對(duì)表中記錄的進(jìn)一步篩選
5 ORDER BY ... 排序
6 LIMIT ... ; 截取部分記錄來(lái)顯示

· 聚合函數(shù)(對(duì)表中某個(gè)字段的數(shù)據(jù)進(jìn)行聚合操作)
種類:

代碼 語(yǔ)義
AVG(字段名) 求該字段的平均值
SUM(字段名) 求和
MAX(字段名) 最大值
MIN(字段名) 最小值
COUNT(字段名) 統(tǒng)計(jì)該字段記錄的個(gè)數(shù)(可統(tǒng)計(jì)空字符串搞疗,但是不統(tǒng)計(jì)NULL)

注意:聚合函數(shù)的結(jié)果為一個(gè)數(shù)值磷脯;一般與分組亲茅、HAVING等結(jié)構(gòu)配合使用,很少單獨(dú)使用
例子:

查詢userlist表中最大年紀(jì)的用戶年齡
SELECT MAX(age) FROM userlist;

查詢userlist表中中國(guó)用戶的資產(chǎn)綜合
SELECT SUM(money) FROM userlist
WHERE country='中國(guó)';

統(tǒng)計(jì)name诈悍、id兩個(gè)字段分別有幾條記錄
SELECT COUNT(id),COUNT(name) FROM userlist;

統(tǒng)計(jì)中國(guó)用戶中通過(guò)實(shí)名認(rèn)證的用戶數(shù)量(AS author_count是別名,可以不寫)
SELECT COUNT(*) AS author_count FROM userlist
WHERE country='中國(guó)' AND author=true;

· ORDER BY:
作用:給查詢結(jié)果排序
格式:... ORDER BY 字段名 ASC/DESC(升序/降序)(不添加默認(rèn)為升序)
注意:對(duì)查詢結(jié)果進(jìn)行排序,并不會(huì)改變表中記錄的原始順序
例:

查出用戶并按照id倒序排序
SELECT * FROM USERLIST
ORDER BY id DESC;

找出國(guó)家為中國(guó)的用戶并按倒序排序
SELECT * FROM userlist
WHERE country='中國(guó)'
ORDER BY id DESC;

找出國(guó)家為中國(guó)和美國(guó)的用戶,并且名字為3個(gè)字符的用戶放妈,按照id為升序排序
SELECT * FROM userlist
WHERE country IN('中國(guó)','美國(guó)') AND name LIKE '_ _ _'
ORDER BY id ASC;

· LIMIT:(限制查詢記錄的顯示條數(shù))
兩種用法:
<1>LIMIT n (顯示n條記錄<前n條記錄>)
<2>LIMIT m,n (m:從第m+1條記錄開始顯示<計(jì)算機(jī)從0開始計(jì)數(shù)>;n:顯示n條記錄)
注意:LIMIT永遠(yuǎn)放在SQL查詢語(yǔ)句的最后寫
例:

在國(guó)家為中國(guó)的用戶中找出id排名倒數(shù)第二到倒數(shù)第四的記錄
SELECT * FROM userlist
WHERE country='中國(guó)'
ORDER BY id ASC
LIMIT 1,3;

找出日本用戶并且名字不為空并顯示id與姓名北救,正序排列取前3條記錄
SELECT id,name FROM userlist
WHERE country='日本' AND name IS NOT NULL
ORDER BY id ASC
LIMIT 3;

使用LIMIT進(jìn)行分頁(yè):

每頁(yè)顯示5條記錄荐操,顯示第4頁(yè)
LIMIT (m-1)*n,n;(m直接傳遞4即可查詢第四頁(yè)的5條)

· GROUP BY ...(按照某種規(guī)則對(duì)查詢結(jié)果進(jìn)行分組操作)
格式:...GROUP BY 字段名
注意:
· 只有分組時(shí)(沒(méi)有聚合函數(shù)、HAVING)珍策,先分組托启,后去重
· GOURP BY 后邊的字段必須與SELECT后面字段一致
· 分組、聚合同時(shí)存在時(shí)攘宙,先分組屯耸,后聚合拐迁,在去重
例子:

查看有哪些國(guó)家(每個(gè)國(guó)家只出現(xiàn)一次)
SELECT country FROM userlist
GROUP BY country;

查看每個(gè)國(guó)家用戶的平均年齡
SELECT country,AVG(age) FROM userlist
GROUP BY country;

查詢出所有國(guó)家中用戶最多的前兩名,顯示國(guó)家名稱和其數(shù)量
SELECT country,COUNT(id) FROM userlist
GROUP BY country
ORDER BY COUNT(id) DESC
LIMIT 2;

· HAVING ...(對(duì)查詢結(jié)果進(jìn)行進(jìn)一步的篩選操作)
注意:
· WHERE只能操作表中實(shí)際存在的字段疗绣,HAVING可操作由聚合函數(shù)生成的顯示列
· 分組 + 聚合 + HAVING :HAVING語(yǔ)句通常和GROUP BY 語(yǔ)句聯(lián)合使用线召,過(guò)濾由GROUP BY 語(yǔ)句返回的記錄集
例子:

查找出平均年齡>50,排名前2的國(guó)家多矮,顯示國(guó)家名和平均年齡
SELECT country,AVG(age) AS average_age FROM userlist
GROUP BY country
HAVING AVG(age)>50
ORDER BY DESC
LIMIT 2;

· DISTINCT ...(不顯示字段的重復(fù)值)
格式:DISTINCT 字段名
注意:
· 只修飾普通的已存在字段
· 當(dāng)DISTINCT同時(shí)修飾多個(gè)字段時(shí)缓淹,所有字段的值都相同才回去重
· DISTINCT不能對(duì)任何字段做聚合處理
例子:

查看表中有哪些國(guó)家
SELECT DISTINCT country FROM userlist;

計(jì)算表中一共有幾個(gè)國(guó)家(AS country_count 可省略,別名而已)
SELECT COUNT(DISTINCT country) AS country_count FROM userlist;

· 查詢表記錄時(shí)做數(shù)學(xué)運(yùn)算
(+ - * / %)
例子:

對(duì)查找出的用戶年齡進(jìn)行雙倍運(yùn)算處理
SELECT id,name,age*2 FROM userlist;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末塔逃,一起剝皮案震驚了整個(gè)濱河市讯壶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌湾盗,老刑警劉巖伏蚊,帶你破解...
    沈念sama閱讀 219,110評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異格粪,居然都是意外死亡躏吊,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門匀借,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)颜阐,“玉大人,你說(shuō)我怎么就攤上這事吓肋〉试梗” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵是鬼,是天一觀的道長(zhǎng)肤舞。 經(jīng)常有香客問(wèn)我,道長(zhǎng)均蜜,這世上最難降的妖魔是什么李剖? 我笑而不...
    開封第一講書人閱讀 58,881評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮囤耳,結(jié)果婚禮上篙顺,老公的妹妹穿的比我還像新娘。我一直安慰自己充择,他們只是感情好德玫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著椎麦,像睡著了一般宰僧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上观挎,一...
    開封第一講書人閱讀 51,698評(píng)論 1 305
  • 那天琴儿,我揣著相機(jī)與錄音段化,去河邊找鬼。 笑死造成,一個(gè)胖子當(dāng)著我的面吹牛显熏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晒屎,決...
    沈念sama閱讀 40,418評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼佃延,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了夷磕?” 一聲冷哼從身側(cè)響起履肃,我...
    開封第一講書人閱讀 39,332評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎坐桩,沒(méi)想到半個(gè)月后尺棋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,796評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡绵跷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評(píng)論 3 337
  • 正文 我和宋清朗相戀三年膘螟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碾局。...
    茶點(diǎn)故事閱讀 40,110評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡荆残,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出净当,到底是詐尸還是另有隱情内斯,我是刑警寧澤,帶...
    沈念sama閱讀 35,792評(píng)論 5 346
  • 正文 年R本政府宣布像啼,位于F島的核電站俘闯,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏忽冻。R本人自食惡果不足惜真朗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望僧诚。 院中可真熱鬧遮婶,春花似錦、人聲如沸湖笨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)赶么。三九已至肩豁,卻和暖如春脊串,著一層夾襖步出監(jiān)牢的瞬間辫呻,已是汗流浹背清钥。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留放闺,地道東北人祟昭。 一個(gè)月前我還...
    沈念sama閱讀 48,348評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像怖侦,于是被迫代替她去往敵國(guó)和親篡悟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 2.2 什么是數(shù)據(jù)庫(kù)軟件 數(shù)據(jù)庫(kù)匾寝,俗稱數(shù)據(jù)的倉(cāng)庫(kù)搬葬。方便管理數(shù)據(jù)的軟件(或程序)。 2.4 MySQL入門 1)到m...
    yangliangliang閱讀 402評(píng)論 0 0
  • 一基本查詢-- 創(chuàng)建商品表 CREATE TABLE products( ); 查詢的格式: select [di...
    AndZYH閱讀 523評(píng)論 0 0
  • @[TOC] 1. 單表查詢語(yǔ)法 2. 關(guān)鍵字執(zhí)行的優(yōu)先級(jí) 1.找到表:from 2.拿著where指定的約束條件...
    態(tài)度哥閱讀 195評(píng)論 0 0
  • 單表查詢 where group by having distinct order by limit 多表查詢 子...
    一個(gè)無(wú)趣的人W閱讀 452評(píng)論 0 0
  • 一艳悔、查詢語(yǔ)句 select * from table_name; 二急凰、查詢指定記錄 select name,pop...
    鐘小胖子閱讀 427評(píng)論 0 0