MYSQL——DQL查询语言
DQL查询语句 语法
SELECT 要查询的字段列表 from 表名的列表 Where 条件列表 group by 分组字段 having 分组之后的条件限定 order排序 limit 分页限定
基础查询
- 查询单个字段
SELECT address from student;
- 查询多个字段
SELECT name,age from student;
去掉重复
SELECT DISTINCT address from student;
注意计算列
去除重复的需要结果集完全相同才能进行去除重复。源数据不同也可以,但要确定查到的结果集相同才可。
-- 计算列的值
SELECT name,math+english FROM student;
【MYSQL——DQL查询语言】如果有Null参与的运算结果都为Null
SELECT name,math,english,math+IFNULL(english,0) FROM student;
别名操作
as 关键字 将要查询的字段起别名
-- 起别名
SELECT name,math,english,math+IFNULL(english,0) 总分 FROM student;
条件查询
- where子句后跟条件
-
、 <、 <=、 >=、 =、 <>
- BETWEEN...AND 在一个范围之内
- IN(集合) 集合表示多个值,使用逗号分隔
- LIKE '张%' 模糊查询
- 占位符
- _:单个占位符
- %:多个任意字符
- 占位符
- IS NULL 查询某一列为Null的值,不能写=null
- and 或 &&
- or 或者 ||
- not 或 !
SELECT* FROM student where age >= 20;
排序查询 语法
- order by 子句
- order by 排序字段1 排序方式1,排序字段2 排序方式2
- 排序方式
- asc 升序 默认的排序方式
- desc 降序 降序排序
# 升序排序 asc
SELECT * FROM extb1 ORDER BY money ASC;
# 降序排序 desc
SELECT * FROM extb1 ORDER BY money DESC;
- 多个排序
如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件
# 多个排序SELECT * FROM extb1 ORDER BY age ASC , money DESC;
聚合函数 将一列数据作为一个整体,进行纵向的计算。
Mysql中的聚合函数
- count 计算个数
SELECT COUNT(NAME) FROM extb1;
- max 计算最大值
# MAX
SELECT MAX(money) from extb1;
- min 计算最小值
# MIN
SELECT MIN(age) from extb1;
- sum 计算和
# SUN
SELECT SUM(age) FROM extb1;
- avg 计算平均值
# AVG
SELECT AVG(money) FROM extb1;
注意
聚合函数的计算排除null值,null值不会参与聚合函数的计算
解决方案:
1.在计算的时候选择不包含非空的列进行计算
- 主键
- COUNT(*)
2.使用IFNULL函数
SELECT COUNT(IFNULL(name,0))FROM extb1;
分组查询 分组一般用来进行统计具有相同特征的一类数据
语法
- group by 分组字段
# 分组查询
SELECT sex,AVG(age) FROM extb1 GROUP BY extb1.sex;
# 分组查询 聚合函数组合使用
SELECT sex,AVG(age),COUNT(*) FROM extb1 GROUP BY extb1.sex;
SELECT sex,AVG(age),COUNT(*) FROM extb1 WHERE age >18 GROUP BY extb1.sex HAVING COUNT(*)>3;
# 使用别名
注意:
- 分组之后查询的字段有:1.分组字段 2 聚合函数,因为分组是统计的同一类的数据,所以在这个条件下查询的是一组数据
- 在where和having的区别
都是在分组中进行条件判断 - where在分组之前进行限定,如果不满足条件,则不参与分组 having在分组之后进行限定,如果不满足结果,则不会被查询
- where 后不可以跟聚合函数,having可以进行聚合函数的判断
一般公式 开始的索引 = (当前的页面-1) * 每页显示的条数
注意 分页LIMIT是一个MYSQL"方言"
推荐阅读
- 急于表达——往往欲速则不达
- 慢慢的美丽
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 2019-02-13——今天谈梦想()
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- Ⅴ爱阅读,亲子互动——打卡第178天
- 低头思故乡——只是因为睡不着
- 取名——兰
- 每日一话(49)——一位清华教授在朋友圈给大学生的9条建议
- 广角叙述|广角叙述 展众生群像——试析鲁迅《示众》的展示艺术