MySQL——单表查询

单表查询


单表查询语句
执行顺序 表单查询语句 各组成部分的作用
1 WHERE ... 对表中记录的第一次筛选
2 GROUP BY ... 分组
3 SELECT ... (聚合函数) ...FROM 表名 基本结构(对字段进行聚合处理)
4 HAVING ... 对表中记录的进一步筛选
5 ORDER BY ... 排序
6 LIMIT ... ; 截取部分记录来显示

· 聚合函数(对表中某个字段的数据进行聚合操作)
种类:

代码 语义
AVG(字段名) 求该字段的平均值
SUM(字段名) 求和
MAX(字段名) 最大值
MIN(字段名) 最小值
COUNT(字段名) 统计该字段记录的个数(可统计空字符串,但是不统计NULL)

注意:聚合函数的结果为一个数值;一般与分组、HAVING等结构配合使用,很少单独使用
例子:

查询userlist表中最大年纪的用户年龄
SELECT MAX(age) FROM userlist;

查询userlist表中中国用户的资产综合
SELECT SUM(money) FROM userlist
WHERE country='中国';

统计name、id两个字段分别有几条记录
SELECT COUNT(id),COUNT(name) FROM userlist;

统计中国用户中通过实名认证的用户数量(AS author_count是别名,可以不写)
SELECT COUNT(*) AS author_count FROM userlist
WHERE country='中国' AND author=true;

· ORDER BY:
作用:给查询结果排序
格式:... ORDER BY 字段名 ASC/DESC(升序/降序)(不添加默认为升序)
注意:对查询结果进行排序,并不会改变表中记录的原始顺序
例:

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

找出国家为中国的用户并按倒序排序
SELECT * FROM userlist
WHERE country='中国'
ORDER BY id DESC;

找出国家为中国和美国的用户,并且名字为3个字符的用户,按照id为升序排序
SELECT * FROM userlist
WHERE country IN('中国','美国') AND name LIKE '_ _ _'
ORDER BY id ASC;

· LIMIT:(限制查询记录的显示条数)
两种用法:
<1>LIMIT n (显示n条记录<前n条记录>)
<2>LIMIT m,n (m:从第m+1条记录开始显示<计算机从0开始计数>;n:显示n条记录)
注意:LIMIT永远放在SQL查询语句的最后写
例:

在国家为中国的用户中找出id排名倒数第二到倒数第四的记录
SELECT * FROM userlist
WHERE country='中国'
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进行分页:

每页显示5条记录,显示第4页
LIMIT (m-1)*n,n;(m直接传递4即可查询第四页的5条)

· GROUP BY ...(按照某种规则对查询结果进行分组操作)
格式:...GROUP BY 字段名
注意:
· 只有分组时(没有聚合函数、HAVING),先分组,后去重
· GOURP BY 后边的字段必须与SELECT后面字段一致
· 分组、聚合同时存在时,先分组,后聚合,在去重
例子:

查看有哪些国家(每个国家只出现一次)
SELECT country FROM userlist
GROUP BY country;

查看每个国家用户的平均年龄
SELECT country,AVG(age) FROM userlist
GROUP BY country;

查询出所有国家中用户最多的前两名,显示国家名称和其数量
SELECT country,COUNT(id) FROM userlist
GROUP BY country
ORDER BY COUNT(id) DESC
LIMIT 2;

· HAVING ...(对查询结果进行进一步的筛选操作)
注意:
· WHERE只能操作表中实际存在的字段,HAVING可操作由聚合函数生成的显示列
· 分组 + 聚合 + HAVING :HAVING语句通常和GROUP BY 语句联合使用,过滤由GROUP BY 语句返回的记录集
例子:

查找出平均年龄>50,排名前2的国家,显示国家名和平均年龄
SELECT country,AVG(age) AS average_age FROM userlist
GROUP BY country
HAVING AVG(age)>50
ORDER BY DESC
LIMIT 2;

· DISTINCT ...(不显示字段的重复值)
格式:DISTINCT 字段名
注意:
· 只修饰普通的已存在字段
· 当DISTINCT同时修饰多个字段时,所有字段的值都相同才回去重
· DISTINCT不能对任何字段做聚合处理
例子:

查看表中有哪些国家
SELECT DISTINCT country FROM userlist;

计算表中一共有几个国家(AS country_count 可省略,别名而已)
SELECT COUNT(DISTINCT country) AS country_count FROM userlist;

· 查询表记录时做数学运算
(+ - * / %)
例子:

对查找出的用户年龄进行双倍运算处理
SELECT id,name,age*2 FROM userlist;

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,295评论 6 512
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,928评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,682评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,209评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,237评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,965评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,586评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,487评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,016评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,136评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,271评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,948评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,619评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,139评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,252评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,598评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,267评论 2 358

推荐阅读更多精彩内容