MySQL数据库的增删改查(进阶)

1.新增

  将一个表中的内容插入到另一个表中.

这里需要确保查询集合的列数,类型,顺序要和插入表的列数,类型,顺序一致,这里列的名称可以不一样. values 替换成了select 查询的临时表.

2. 查询

2.1 聚合查询

2.1.1 聚合查询

函数              说明
COUNT([DISTINCT] expr)返回查询到的数据的 数量
SUM([DISTINCT] expr)返回查询到的数据的 总和,不是数字没有意义
AVG([DISTINCT] expr)返回查询到的数据的 平均值
MAX([DISTINCT] expr)返回查询到的数据的 最大值
MIN([DISTINCT] expr)返回查询到的数据的 最小值

案例:提下图数据演示

COUNT:

由此图可以看出count(*)函数是一个特殊情况,只是单纯的计数,count(math)计数会跳过空值.

SUM:

AVG:

2.1.2GROUP BY子句

GROUP BY 子句可以对指定列进行分组查询.

2.1.3HAVING

GROUP BY 子句进行分组以后,需要对分组结果再进行条件过滤时,不能使用 WHERE 语句,而需要用 HAVING.

查询每个岗位的平均工资,但是刨除掉平均工资大于2000的数据.

计算每个岗位的平均工资,刨除张三,也刨除平均工资超过2000的数据.

2.2 联合查询

实际开发中往往数据来自不同的表,所以需要多表联合查询。多表查询是对多张表的数据取笛卡尔积:

首先初始化测试数据;

2.2.1 内连接

语法;

select 字段 from 表1 别名1 [inner] join 表2 别名2 on 连接条件 and 其他条件;

select 字段 from 表1 别名1,表2 别名2 where 连接条件 and 其他条件;

笛卡尔积,就是得到了一个更大的表.例数,就是原来的两个表的列数之和.行数,就是原来两个表的行数之积.

笛卡尔积就是单纯的排列组合,会产生有许多的无效数据.指定连接条件,把无效数据去掉.

2.2.2 外连接

外连接分为左外连接和右外连接。如果联合查询,左侧的表完全显示我们就说是左外连接;右侧的表完 全显示我们就说是右外连接。

-- 左外连接

select 字段名  from 表名1 left join 表名2 on 连接条件;

-- 右外连接

select 字段 from 表名1 right join 表名2 on 连接条件;

 

 对于左连接,以左侧的表为基准,会保证左侧表的每一个数据都存在,左侧表数据在右侧表中不存在的部分,会使用null来填充.

2.2.3 自连接

自连接是指在同一张表连接自身进行查询.

2.2.4 子查询

子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询

多行子查询:返回多行记录的子查询

IN 关键字

2.2.5 合并查询

union 允许从不同的多个表分别查询,只要求每个表查询的结果集合列的类型和个数匹配即可.

 

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

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

相关文章

k8snode节点kubeadm join主节点失败,请问你们有什么好的办法吗?

K8S版本:1.20.9,docker也是1.20的 在网上找了,说是关闭交换区swap,这个也关了,防火墙也关了,现在kubelet无法启动,网上查了只有kubeadm init后kubelet才能启动,而init后10250端口会…

Master节点快照回退遇到的容器不存在的问题

这次遇到的问题说起来有点扯,k8s集群出了点问题,kuboard无法访问,查看容器状态后,初始问题简单的以为是kuboard出问题了,理论上来说重新安装kuboard即可, 由此问题引发的系统bug,导致master节点…

【LeetCode热题100】322. 零钱兑换(动态规划)

一.题目要求 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是…

​SCP收容物999

注 :本文是特别版,本文只供开玩笑 ,与steve_gqq_MC合作。 --------------------------------------------------------------------------------------------------------------------------------- 物品号:SCP-999 --------------------------------…

从输入URL到页面渲染的全过程详解

当我们在浏览器中输入一个URL并按下回车键时,背后其实发生了一系列的复杂过程。这个过程涉及到了网络协议、服务器处理、数据传输等多个环节。下面,我们将详细解析这一过程。 一、URL解析 当我们在浏览器中输入URL并回车后,浏览器首先会进行…

掼蛋八大定律

1、首引定律 沟通是掼蛋的灵魂,原则上前三手牌都需要沟通。第一手牌,沟通牌力强弱;第二手牌沟通上游概率;第三手牌沟通双下可能。首引定律有几个公式:(1)首引小单牌示弱;&#xff0…

安装车载电台需要什么资质?

安装车载电台需要以下资质和步骤: 加入无线电运动协会,成为其会员。这是获取操作车载电台资格的基础。通过自学、培训或其他方式,取得《中华人民共和国业余电台操作证书》。这个证书是合法操作业余无线电台的凭证,也体现了操作者…

vue前端项目到后端执行逻辑——自己改的话要怎么改

文章目录 vue前端项目到后端流程——自己改的话要怎么改 vue前端项目到后端流程——自己改的话要怎么改

yarn集群部署

yarn集群部署案例 我们来基于一个案例讲解yarn集群部署 我们要部署yarn集群,需要分别部署HDFS文件系统及YARN集群 Hadoop HDFS分布式文件系统,我们会启动: NameNode进程作为管理节点DataNode进程作为工作节点SecondaryNamenode作为辅助 同…

数据库基础认识

目录 数据库基本认识 见一见数据库 主流数据库 Windows下启动MySQL 服务器,数据库,表关系 MySQL架构 SQL分类 存储引擎 数据库基本认识 哪一个是客户端哪一个是服务端? 为什么需要数据库? 文件保存数据有以下几个缺点&a…

蓝桥杯刷题 深度优先搜索-[2410]最大连通(C++)

问题描述 小蓝有一个 30 行 60 列的数字矩阵,矩阵中的每个数都是 0 或 1 。 110010000011111110101001001001101010111011011011101001111110 010000000001010001101100000010010110001111100010101100011110 00101110100010001111111111101000001001010101011100…

✌2024/4/4—力扣—盛最多水的容器

代码实现: 方法一:暴力解法——遍历左右边,找出所有面积,取最大值——超时 #define min(a, b) ((a) > (b) ? (b) : (a)) #define max(a, b) ((a) > (b) ? (a) : (b))int maxArea(int *height, int heightSize) {int ans …

企业级即时通讯软件有哪些?办公室沟通效率提升的必备工具

在现代企业运营中,高效的沟通是推动工作进展和加强团队协作的关键因素。企业级即时通讯软件作为提升办公室沟通效率的必备工具,不仅能够帮助员工快速交换信息,还能够整合多种办公功能,从而提高整体工作效率。以下是几款国内优秀的…

基于liorf_localization的重定位

文章目录 概述保存和加载地图利用现有地图进行重定位代码实现Q&&AQ1: point cloud is not in dense format概述 在LIO-SAM的基础上进行重定位,主要是指在已经建立的地图上进行位置的快速定位,这对于机器人在已知环境中的快速启动或者在丢失定位后的恢复尤为重要。L…

蓝桥杯DFS自练三题-串变换,玩具蛇,分糖果

题目一:串变换 代码解析: #include <iostream> using namespace std; struct Option{int select;int x;int y; }; string S,T; int N,K;//N是串的长度&#xff0c;K是操作指令的大小 Option opt[10];//存储所有的指令 bool vis[10];//标记数组&#xff0c;重要&#xff…

node相关

文章目录 nodeJS是什么&#xff1f;优缺点使用场景全局对象适合用于构建 I/O 密集型不适用于计算密集型任务 nodeJS是什么&#xff1f; Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境&#xff0c;它是跨平台和开源的。 Node.js 使用高效、轻量级的事件驱动、非阻…

Qt使用QWidget重绘实现圆环形渐变色进度条(支持不确定进度模式)

效果如下&#xff1a; 从纯竖直方向顶部蓝色到底部青色的渐变。 从左上角偏左45到右下角偏右45的蓝色到青色渐变。 从左上角偏左22.5到右下角偏右22.5的蓝色到青色渐变。&#xff08;这个角度渐变最好看&#xff09; 可以选择添加背景图片 支持两种模式&#xff1a;正常进度模…

免费试用!英智未来BayStone平台提供高性能算力服务

英智未来BayStone人工智能公共服务平台聚焦全球高端算力资源&#xff0c;提供基于英伟达HGX1系列GPU算力服务&#xff0c;现面向所有政企和科研机构提供现货算力资源服务。点击申请试用 BayStone平台通过全球算力资源调度&#xff0c;帮助用户高效使用高端算力资源&#xff0c;…

Spring集成MyBatis

基本准备 创建Dynamic Web Project 引入相关jar包 Spring框架相关jar包 MyBatis连接Spring相关jar包 连接MySQL驱动包 JSTL标签库包 添加db.properties文件&#xff0c;该属性文件配置连接数据库相关信息 drivercom.mysql.jdbc.Driver urljdbc:mysql://localhost:3306/myba…

TypeScript系列之-理解TypeScript类型系统画图讲解

TypeScript的输入输出 如果我们把 Typescript 编译器看成一个黑盒的话。其输入则是使用 TypeScript 语法书写的文本或者文本集合。 输出是编译之后的 JS 文件 和 .d.ts 的声明文件 其中 JS 是将来需要运行的文件(里面是没有ts语法&#xff0c;有一个类型擦除的操作)&#xff0…