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

目录

前言

一、聚合查询

💖聚合函数

💖GROUP BY子句

💖HAVING

二、联合查询

💖内连接

💖外连接

💖自连接

💖子查询

💖合并查询


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

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

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

前言

        数据库中数据表的数据查询有2种------聚合查询和联合查询,而本文讲解的是纯论述语法,如笔记一样,不会仔细讲解。本文的详细讲解:http://t.csdn.cn/xirrJ


一、聚合查询


        聚合查询有3种方式,聚合函数、GROUP BY子句和HAVING

💖聚合函数

        用于统计总数、计算平均值等操作。

1、count ( )           作用:返回查询到的数据的数量

语法示例:SELECT    count(字段名)   from  数据表名;   

           //查询该数据表中该字段名的含有的数据量

2、sum( )               作用:计算查询到的数据总和

语法示例:SELECT    sum(字段名)   from  数据表名;

        //查询该数据的表中该字段名的数据之和。

3、avg()                作用:计算查询到的数据的平均值

语法示例:SELECT    avg(字段名)   from  数据表名;

          //查询该数据的表中该字段名的所有数据的平均值。

4、max()                 作用:计算查询到的数据的最大值

语法示例:SELECT    max(字段名)   from  数据表名;

        //查询该数据的表中该字段名的所有数据的最大值。

5、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<t2.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。

  • union

作用:使用于查询两个结果集的并集,会自动去除重复行

示例:查询大于22岁的男性信息

select  * from student where age>20 union select * from student where sex='男‘’;

  •  union all

作用:使用于查询两个结果集的并集,不会去除重复行


                                                                                          制作不易,哥哥姐姐们点个赞吧!!!

                                                                                                        --------懒惰的tq02

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/17630.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ViperGPT解析:结合视觉输入与文本查询生成和执行程序

ViperGPT&#xff1a;结合视觉输入与文本查询生成和执行程序 ViperGPT 是一个混合视觉和语言处理模型&#xff0c;旨在解决视觉查询问题。这种问题需要视觉处理和推理能力的结合&#xff0c;ViperGPT通过利用代码生成模型&#xff0c;将视觉和语言模型组合成子例程&#xff0c…

优秀的 RocketMQ 可视化管理工具 GUI 客户端

优秀的 RocketMQ 可视化管理工具 GUI 客户端 官网地址&#xff1a;http://www.redisant.cn/rocketmq 快速查看所有 RocketMQ 集群&#xff0c;包括Brokers、Topics和Consumers查看消费者订阅了哪些主题&#xff0c;以及消息队列被分配给了哪些消费者&#xff1b;当出现消息积…

Elasticsearch【安装ES服务、安装kibana、Docker安装 、索引操作、文档操作】(二)-全面详解(学习总结---从入门到深化)

目录 Elasticsearch安装_安装ES服务 Elasticsearch安装_安装kibana Elasticsearch安装_Docker安装 Elasticsearch常用操作_索引操作 Elasticsearch常用操作_文档操作 Elasticsearch安装_安装ES服务 准备工作 1、 准备一台搭载有CentOS7系统的虚拟机&#xff0c;使用XSh…

Kafka入门,漏消费和重复消费, 消费者事务,数据积压(二十四)

漏消费和重复消费 重复消费&#xff1a;已经消费了数据&#xff0c;但是offset没提交。 漏消费&#xff1a;先提交offset后消费&#xff0c;有可能会造成数据得漏消费 消费者事务 如果向完成consumer端得进准一次性消费&#xff0c;那么需要Kafka消费端将消费过程和提交offs…

Bootloader Design of PIC18 series MCU - 进阶篇

1.遭遇到问题 在&#xff1a;PIC18 Bootloader 设计基础 一文中&#xff0c;我们讨论了Bootloader与上层应用APP各自编译的方法。在ROM上的空间分配、以及跳转、中断的处理等内容。那篇文章包含了所有与PIC单片机Bootloader设计相关的技术问题。但是距离一个真正可用的Bootloa…

【C语言】多组输入

C系列文章目录 目录 C系列文章目录 一、什么是多组输入&#xff1f; 二、如何使用多组输入 2.1&#xff0c;试题举例讲解 2.2&#xff0c;错误解法 2.3&#xff0c;我们实现多组输入的思路 2.4&#xff0c;第一种正确的解法 2.5&#xff0c;第二种正确的解法 2.6&…

结合具体场景举例说明chatgpt预训练模型中Tokenization的原理

假设我们有一个场景&#xff0c;Alice想向Chatbot询问一部电影的推荐。她发送了一条消息&#xff1a;“你好&#xff0c;能给我推荐一部好看的电影吗&#xff1f;” 在这个场景中&#xff0c;Chatbot使用了ChatGPT预训练模型。首先&#xff0c;Chatbot需要对Alice的消息进行Tok…

视频无损放大修复工具:Topaz Video AI对Mac和Windows的系统要求

Topaz Video AI是一款基于人工智能技术的视频增强软件&#xff0c;旨在提供高质量的视频修复、增强和转换功能。它可以通过智能算法和图像处理技术&#xff0c;改善视频的清晰度、稳定性、降噪效果&#xff0c;还能进行视频转码和格式转换。 Mac&#xff1a;Topaz Video AI fo…

性能监控平台 | Prometheus+InfluxDB + Grafana!

在本文中&#xff0c;我将把几个常用的监控部分给梳理一下。前面我们提到过&#xff0c;在性能监控图谱中&#xff0c;有操作系统、应用服务器、中间件、队列、缓存、数据库、网络、前端、负载均衡、Web 服务器、存储、代码等很多需要监控的点。显然这些监控点不能在一个专栏中…

LabVIEW开发图像采集和图像处理程序

LabVIEW开发图像采集和图像处理程序 扫描电子显微镜&#xff08;SEM&#xff09;是一种功能强大的工具&#xff0c;广泛用于高分辨率的生物和半导体样品检测。然而&#xff0c;对于大面积或3D成像&#xff0c;SEM成像是一个耗时的过程。MBSEM旨在通过同时扫描多个像素来减少采…

怎么用JMeter操作MySQL数据库?看完秒懂!

近期用JMeter做接口测试&#xff0c;遇到了一个需要用到数据数据库的场景&#xff1a;一个关于数据报告的页面&#xff0c;需要将数据库里面的数据求和或者取均值之后&#xff0c;展示出来&#xff0c;如果要断言的话&#xff0c;需要连接数据库&#xff0c;通过写sql语句&…

OpenCV读取一张8位无符号单通道图像并显示

#include <iostream> #include <opencv2/imgcodecs.hpp> #include <opencv2/opencv.hpp> #include