文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL---表数据高效率查询(简述)

2023-08-31 19:49

关注

目录

前言

一、聚合查询

💖聚合函数

💖GROUP BY子句

💖HAVING

二、联合查询

💖内连接

💖外连接

💖自连接

💖子查询

💖合并查询


🎁博主介绍:博客名为tq02,已学C语言、JavaSE,目前学了MySQL和JavaWeb

🎥学习专栏:  C语言         JavaSE       MySQL基础

🎄博主链接:tq02的博客_CSDN博客-C语言,Java,MySQL领域博主

前言

        数据库中数据表的数据查询有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子句

         GROUP BY 子句可以对指定列进行分组查询,但是需要和聚合函数一起使用才有高效率。

语法格式: select  字段名1,聚合函数名(字段名2).....for table group by 字段名1,字段名2;

示例:select sex,max(salary),min(salary),avg(salary) from emp group by sex;
        //将性别列 分组查询最高工资、最低工资、平均工资。

💖HAVING

        在使用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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯