目录 前言 一、聚合查询 💖聚合函数 💖GROUP BY子句 💖HAVING 二、联合查询 💖内连接 💖外连接 💖自连接 Ὁ
数据库中数据表的数据查询有2种------聚合查询和联合查询,而本文讲解的是纯论述语法,如笔记一样,不会仔细讲解。本文的详细讲解:http://t.csdn.cn/xirrJ
聚合查询有3种方式,聚合函数、GROUP BY子句和HAVING。
用于统计总数、计算平均值等操作。
count ( ) 作用:返回查询到的数据的数量
语法示例:SELECT count(字段名) from 数据表名;
//查询该数据表中该字段名的含有的数据量
sum( ) 作用:计算查询到的数据总和
语法示例:SELECT sum(字段名) from 数据表名;
//查询该数据的表中该字段名的数据之和。
avg() 作用:计算查询到的数据的平均值
语法示例:SELECT avg(字段名) from 数据表名;
//查询该数据的表中该字段名的所有数据的平均值。
max() 作用:计算查询到的数据的最大值
语法示例:SELECT max(字段名) from 数据表名;
//查询该数据的表中该字段名的所有数据的最大值。
min() 作用:计算查询到的数据的最小值
语法示例:SELECT min(字段名) from 数据表名;
//查询该数据的表中该字段名的所有数据的最小值。
GROUP BY 子句可以对指定列进行分组查询,但是需要和聚合函数一起使用才有高效率。
语法格式: select 字段名1,聚合函数名(字段名2).....for table group by 字段名1,字段名2;
示例:select sex,max(salary),min(salary),avg(salary) from emp group by sex;
//将性别列 分组查询最高工资、最低工资、平均工资。
在使用group by子句的情况下,再对结果进行过滤,是不可以使用where语句,得使用having语句。
语法格式:select 字段名1,聚合函数名(字段名2).....for table group by 字段名1,字段名2 having 条件;
示例: //查询年龄高于20的男女最高工资、最低工资、平均工资
select sex,max(salary),min(salary),avg(salary) from emp group by sex having age>20;
联合查询分为很多,内连接、外连接、自连接、子连接和合并连接
连接2个有关联的表,查询所需要的数据
语法格式:
select *from 表1 join 表2 [ on过滤条件 ] [ where查询条件 ] ;
外连接分:左,右。
1.左外连接,表1完全显示:
语法格式 :select 字段名 from 表名1 left join 表名2 on 连接条件 [where条件查询];
2.右外连接,表2完全显示:
语法格式:select 字段 from 表名1 right join 表名2 on 连接条件 [where条件查询];
自连接,顾名思义,在同一张表连接自身。
语法格式:select *from 表名 as t1,表名 as t2 where t1.id=t2.id [, ...];
示例:查询分数表中,某个人一门成绩大于另一门的成绩
使用:select * from score as t1,score as t2 where t1.sid=t2.sid and t1.grade
子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询
分两种,一种单行子查询,另一种多行子查询
示例:查询和许仙一个班级的学生的所有信息
select * from student where classes_id=(select classes_id from studentwhere name='许仙');
示例:查询和许仙或者奥特曼一个班级的学生的所有信息
select * from student where classes_id in (select classes_id from studentwhere name='许仙' or name='奥特曼' );
为了合并多个select的执行结果,我们需要使用集合操作符uNIOn,union all。
作用:使用于查询两个结果集的并集,会自动去除重复行。
示例:查询大于22岁的男性信息
select * from student where age>20 union select * from student where sex='男‘’;
作用:使用于查询两个结果集的并集,不会去除重复行。
制作不易,哥哥姐姐们点个赞吧!!!
--------懒惰的tq02
来源地址:https://blog.csdn.net/m0_74097410/article/details/131611300
--结束END--
本文标题: MySQL---表数据高效率查询(简述)
本文链接: https://www.lsjlt.com/news/386793.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0