【lesson17】MySQL表的基本操作--表去重、聚合函数和group by

文章目录

  • MySQL表的基本操作介绍
  • 插入结果查询(表去重)
    • 建表
    • 插入数据
    • 操作
  • 聚合函数
    • 建表
    • 插入数据
    • 操作
  • group by(分组)
    • 建表
    • 插入数据
    • 操作

MySQL表的基本操作介绍

CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除)

插入结果查询(表去重)

在这里插入图片描述

建表

在这里插入图片描述

插入数据

在这里插入图片描述

操作

删除表中的的重复复记录,重复的数据只能有一份
1.去重(不影响原表)
在这里插入图片描述
2.创建一个新的表,表的结构和duplicate_table表一样
在这里插入图片描述
3.将 duplicate_table 的去重数据插入到 no_duplicate_table
在这里插入图片描述
4.通过重命名表,实现原子的去重操作+查看duplicate_table
在这里插入图片描述
为什么最后是通过rename的方式进行的呢?
就是单纯的想等一切都就绪了,然后统一对数据进行放入、更新和生效等。

聚合函数

在这里插入图片描述

建表

这里就不建立,之前就已经建过了,大家可以根据表信息自己去建立表
在这里插入图片描述

插入数据

因为之前就已经插入过了,这里就给大家看一下数据表,要操作的大家可以自行插入数据。
在这里插入图片描述

操作

统计班级共有多少同学
原表:
在这里插入图片描述
统计:在这里插入图片描述
统计本次考试的数学成绩分数个数
原表:
在这里插入图片描述
统计:
在这里插入图片描述
我们会发现统计出来是错的,因为数学成绩有重复的,重复的数学成绩只能算一个。
所以统计的时候要去重。
在这里插入图片描述
我们会发现不能统计的同时去重,要先去重再统计
在这里插入图片描述
统计数学成绩总分
原表:
在这里插入图片描述
统计:
在这里插入图片描述
统计平均总分
原表:
在这里插入图片描述
统计:
在这里插入图片描述
返回英语最高分
原表:
在这里插入图片描述
统计:
在这里插入图片描述
返回 > 90 分以上的数学最低分
原表:
在这里插入图片描述
统计:
在这里插入图片描述

group by(分组)

如果我们既要打出数学成绩最高分又要打出那个人的名字可以吗?
在这里插入图片描述
我们测试了发现不行,为什么呢?
因为name不能聚合。
这时我们就要用到分组了。

语法:
在这里插入图片描述

建表

准备工作,创建一个雇员信息表(来自oracle 9i的经典测试表)

  • EMP员工表
  • DEPT部门表
  • SALGRADE工资等级表

在这里插入图片描述

插入数据

大家根据数据自行插入
部门表数据:
在这里插入图片描述
工资等级表数据:
在这里插入图片描述
员工信息表数据:
在这里插入图片描述

操作

显示每个部门的平均工资和最高工资
在这里插入图片描述
在这里插入图片描述

显示每个部门的每种岗位的平均工资和最低工资
在这里插入图片描述
显示平均工资低于2000的部门和它的平均工资
首先统计各个部门的平均工资:
在这里插入图片描述
最后having和group by配合使用,对group by结果进行过滤
在这里插入图片描述
having经常和group by搭配使用,作用是对分组进行筛选,作用有些像where。
having和where的区别理解?
1.执行顺序的理解
2.对结果的理解
3.where无法替换having

1.执行顺序的理解:
显示每个部门平均工资低于2000的岗位,但是不要把SMITH这个人计算在其中
在这里插入图片描述
在这里插入图片描述
2.对结果的理解
where:对具体任意列进行条件筛选
having:对聚合之后的结果进行条件筛选

having和where条件筛选的阶段是不同的!
不要单纯的认为,只有磁盘上表的结果导入到mysql中、真实存在的表才叫做表。
中间筛选出来的、包括最终结果,其实全部都是逻辑上的表!
'‘MySQL’'一切皆表,未来只要我们能处理单表的CURD,多有SQL场景下的表,我们全部都能用统一方式进行。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

XAgent的部署及运行

源代码clone git clone config 文件的修改 在XAgent源码目录,运行 vi .env, 修改以下配置条目 CONFIG_FILEassets/gpt-3.5-turbo_config.ymlpython环境 python >3.10 安装conda,通过conda激活python3.10的环境 wget https://repo.a…

josef约瑟 跳合位、电源监视继电器 HRTH-Y-2H2D DC220V

系列型号: HRTH-Y-2H2D-X-T跳位监视、合位监视、电源监控继电器; HRTH-Y-2Z-X-T跳位监视、合位监视、电源监控继电器; HRTH-Y-2H-X-T跳位监视、合位监视、电源监控继电器; HRTH-J-2H2D-X-T跳位监视、合位监视、电源监控继电器…

Axure中继器的基本使用

介绍中继器 在 Axure 中,中继器是一种交互设计元素,用于在不同页面之间传递数据或触发特定的事件。它可以帮助模拟真实的用户交互流程和页面之间的传递逻辑,继承关系用于描述两个元件之间的父子关系。通过使用继承关系,您可以创建…

Linux的SSH(远程登录)

SSH定义: SSH(Secure Shell 的缩写)是一种网络协议,用于加密两台计算机之间的通信,并且支持各种身份验证机制。 实务中,它主要用于保证远程登录和远程通信的安全,任何网络服务都可以用这个协议…

深度学习笔记_7经典网络模型LSTM解决FashionMNIST分类问题

1、 调用模型库,定义参数,做数据预处理 import numpy as np import torch from torchvision.datasets import FashionMNIST import torchvision.transforms as transforms from torch.utils.data import DataLoader import torch.nn.functional as F im…

自定义 spring-boot组件自动注入starter

1&#xff1a;创建maven项目 2&#xff1a;pom文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocati…

stm32与Freertos入门(二)移植FreeRTOS到STM32中

简介 注意&#xff1a;FreeRTOS并不是实时操作系统&#xff0c;而是分时复用的&#xff0c;只不过切换频率很快&#xff0c;感觉上是同时在工作。本次使用的单片机型号为STM32F103C8T6,通过CubeMX快速移植。 一、CubeMX快速移植 1、选择芯片 打开CubeMX软件&#xff0c;进行…

轻量封装WebGPU渲染系统示例<53>- 多盏灯灯光照在地面的效果

WebGPU实时渲染实现模拟多盏灯的灯光照在地面的效果灯光效果 。 当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/material/src/voxgpu/sample/MultiLightsTest.ts 当前示例运行效果: 此示例基于此渲染系统实现&#xff0c;当前示例TypeScript源…

Ribbon负载均衡原理、策略、饥饿加载

Ribbon负载均衡原理、策略、饥饿加载 MapperScan("cn.itcast.order.mapper") SpringBootApplication public class OrderApplication {public static void main(String[] args) {SpringApplication.run(OrderApplication.class, args);}/*** 完成创建RestTemplate&am…

虾皮 选品:如何在虾皮平台上进行有效的选品?

在虾皮&#xff08;Shopee&#xff09;这个跨境电商平台上&#xff0c;选品对于卖家来说至关重要。选品决定了店铺的销售额和竞争力。为了帮助卖家进行选品&#xff0c;虾皮平台提供了一些免费的选品工具&#xff0c;如知虾。同时&#xff0c;还有一些第三方选品工具&#xff0…

支持可视化提取变量,Apipost配置变量不要太简单

在调试接口时我们需要将响应结果中的某个字段配置为环境变量在其他接口中引用&#xff0c;之前在Apipost中需要配置脚本而在最近Apipost后执行操作中可以进行可视化的断言和变量提取&#xff0c;无需配置繁琐脚本。 这里我们在登录接口下配置一条Token环境变量&#xff0c;在后…

去面试性能测试工程师必问的问题,

性能测试的三个核心原理是什么&#xff1f; 1.基于协议。性能测试的对象是网络分布式架构的软件&#xff0c;而网络分布式架构的核心是网络协议 2.多线程。人的大脑是单线程的&#xff0c;电脑的cpu是多线程的。性能测试就是利用多线程的技术模拟多用户去负载 3.模拟真实场景。…

外卖系统海外版:技术智能引领全球美食新潮流

随着全球数字化浪潮的推动&#xff0c;外卖系统海外版不仅是食客们品味美食的便捷通道&#xff0c;更是技术智能在美食领域的引领者。本文将深入剖析其背后的技术实现&#xff0c;揭开代码带来的美食革新。 多语言支持&#xff1a;构建全球美食沟通桥梁 def multilingual_su…

机器人也能干的更好:RPA技术的优势和应用场景

RPA是什么&#xff1f; 机器人流程自动化RPA&#xff08;Robotic Process Automation&#xff09;是一种自动化技术&#xff0c;它使用软件机器人来高效完成重复且有逻辑性的工作。近年来&#xff0c;随着人工智能和自动化技术的不断发展和普及&#xff0c;RPA已经成为企业提高…

双指针——找到字符串中的所有字母异位词

https://leetcode.cn/problems/find-all-anagrams-in-a-string/description/?envTypestudy-plan-v2&envIdtop-100-liked 双指针&#xff0c;每次都统计出来p长度的滑动窗口里的数字,拿Arrays.equals进行对比,然后滑动一小格&#xff0c;减1加1继续比对即可。 class Solut…

2023年12月最新软件测试面试题(带答案)

1. 请自我介绍一下(需简单清楚的表述自已的基本情况&#xff0c;在这过程中要展现出自信&#xff0c;对工作有激情&#xff0c;上进&#xff0c;好学) 面试官您好&#xff0c;我叫###&#xff0c;今年26岁&#xff0c;来自江西九江&#xff0c;就读专业是电子商务&#xff0c;毕…

教你如何使用天眼销查企业客户

天眼销是一款能够帮助客户获取最新的企业联系方式、工商信息等关键数据的平台。 平台基于先进的技术和大数据解决方案&#xff0c;深入挖掘和分析企业信息&#xff0c;能够高效地收集、整理和存储各类企业数据&#xff0c;为用户提供360度视角和洞察&#xff1b;提供全面、准确…

从零开始掌握MAYA 2022:打造视觉创意的艺术大师之路

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 Autodesk Maya是一款强大的三维计算机图形软件…

ROS-安装Rviz

安装 运行下列命令进行安装&#xff0c;xxxxxx处更改为自己的版本 sudo apt-get install ros-xxxxxx-rviz运行 先打开roscore roscore再运行rviz rviz参考&#xff1a; [1]https://blog.csdn.net/qq_66540741/article/details/134400248 [2]https://blog.csdn.net/baidu_384…