【Hello mysql】 mysql的基本查询(二)

Mysql专栏:@Mysql
本篇博客简介:介绍mysql的基本查询

mysql的基本查询(二)

    • 将筛选出来的数据插入到数据库中(insert+select)
    • 聚合函数
      • 统计班级共有多少同学
      • 统计班级手机的qq号有多少
      • 统计本次考试去重的数学成绩分数个数
      • 统计数学成绩总分
      • 统计平均总分
      • 返回英语最高分
      • 返回 > 70 分以上的数学最低分
    • group by
      • 显示每个部门的平均工资和最低工资
      • 显示每个部门每种岗位的平均工资和最低工资
      • 显示平均工资低于2000的部门和它的平均工资
    • 总结

将筛选出来的数据插入到数据库中(insert+select)

语法

INSERT INTO table_name [(column [, column ...])] SELECT ...

案例: 删除表中的重复数据 重复的数据只能有一份

创建原表数据

在这里插入图片描述

在这里插入图片描述

创建一张空表结构和要去重的表一样

在这里插入图片描述

利用distinct去重

在这里插入图片描述

之后将这两个表的名字互换即可

聚合函数

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

统计班级共有多少同学

在这里插入图片描述

统计班级手机的qq号有多少

需要注意的是NULL并不会加入统计结果

在这里插入图片描述

统计本次考试去重的数学成绩分数个数

在这里插入图片描述

统计数学成绩总分

在这里插入图片描述

统计平均总分

在这里插入图片描述

返回英语最高分

在这里插入图片描述

返回 > 70 分以上的数学最低分

在这里插入图片描述

group by

我们首先先创建一个员工表 创建该表的mysql语句如下 复制粘贴即可

DROP database IF EXISTS `scott`;
CREATE database IF NOT EXISTS `scott` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;USE `scott`;DROP TABLE IF EXISTS `dept`;
CREATE TABLE `dept` (`deptno` int(2) unsigned zerofill NOT NULL COMMENT '部门编号',`dname` varchar(14) DEFAULT NULL COMMENT '部门名称',`loc` varchar(13) DEFAULT NULL COMMENT '部门所在地点'
);DROP TABLE IF EXISTS `emp`;
CREATE TABLE `emp` (`empno` int(6) unsigned zerofill NOT NULL COMMENT '雇员编号',`ename` varchar(10) DEFAULT NULL COMMENT '雇员姓名',`job` varchar(9) DEFAULT NULL COMMENT '雇员职位',`mgr` int(4) unsigned zerofill DEFAULT NULL COMMENT '雇员领导编号',`hiredate` datetime DEFAULT NULL COMMENT '雇佣时间',`sal` decimal(7,2) DEFAULT NULL COMMENT '工资月薪',`comm` decimal(7,2) DEFAULT NULL COMMENT '奖金',`deptno` int(2) unsigned zerofill DEFAULT NULL COMMENT '部门编号'
);DROP TABLE IF EXISTS `salgrade`;
CREATE TABLE `salgrade` (`grade` int(11) DEFAULT NULL COMMENT '等级',`losal` int(11) DEFAULT NULL COMMENT '此等级最低工资',`hisal` int(11) DEFAULT NULL COMMENT '此等级最高工资'
);insert into dept (deptno, dname, loc)
values (10, 'ACCOUNTING', 'NEW YORK');
insert into dept (deptno, dname, loc)
values (20, 'RESEARCH', 'DALLAS');
insert into dept (deptno, dname, loc)
values (30, 'SALES', 'CHICAGO');
insert into dept (deptno, dname, loc)
values (40, 'OPERATIONS', 'BOSTON');insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, null, 20);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7499, 'ALLEN', 'SALESMAN', 7698, '1981-02-20', 1600, 300, 30);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7521, 'WARD', 'SALESMAN', 7698, '1981-02-22', 1250, 500, 30);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7566, 'JONES', 'MANAGER', 7839, '1981-04-02', 2975, null, 20);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7654, 'MARTIN', 'SALESMAN', 7698, '1981-09-28', 1250, 1400, 30);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7698, 'BLAKE', 'MANAGER', 7839, '1981-05-01', 2850, null, 30);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7782, 'CLARK', 'MANAGER', 7839, '1981-06-09', 2450, null, 10);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7788, 'SCOTT', 'ANALYST', 7566, '1987-04-19', 3000, null, 20);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7839, 'KING', 'PRESIDENT', null, '1981-11-17', 5000, null, 10);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7844, 'TURNER', 'SALESMAN', 7698,'1981-09-08', 1500, 0, 30);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7876, 'ADAMS', 'CLERK', 7788, '1987-05-23', 1100, null, 20);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7900, 'JAMES', 'CLERK', 7698, '1981-12-03', 950, null, 30);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7902, 'FORD', 'ANALYST', 7566, '1981-12-03', 3000, null, 20);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7934, 'MILLER', 'CLERK', 7782, '1982-01-23', 1300, null, 10);insert into salgrade (grade, losal, hisal) values (1, 700, 1200);
insert into salgrade (grade, losal, hisal) values (2, 1201, 1400);
insert into salgrade (grade, losal, hisal) values (3, 1401, 2000);
insert into salgrade (grade, losal, hisal) values (4, 2001, 3000);
insert into salgrade (grade, losal, hisal) values (5, 3001, 9999);

显示每个部门的平均工资和最低工资

在这里插入图片描述

显示每个部门每种岗位的平均工资和最低工资

在这里插入图片描述

显示平均工资低于2000的部门和它的平均工资

在这里插入图片描述

having和where的区别

having和where都是sql语句中用来进行条件筛选的关键字 他们最主要的区别在于作用时间

where子句的作用时间很靠前 在from emp后面就开始筛选

而having语句作用的时间段很靠后 在select选择了数据之后才开始产生作用

总结

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

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

相关文章

【Linux】设置 命令 --help 帮助文件为中文

🍁博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 文章目录 前言设置系统默认语言为中文安装man-…

Redis — 不仅仅是缓存

1*qIy3PMmEWNcD9Czh_21C8g.png Redis是一种快速、开源的内存键值(NoSQL)数据库,远远超越了缓存的功能。Redis使用RAM进行操作,提供亚毫秒级的响应时间,支持每秒数百万次请求。Redis主要用于缓存,但它也可以…

设置和使用DragGAN:搭建非官方的演示版

ragGAN的官方版还没有发布,但是已经有非官方版的实现了,我们看看如何使用。DragGAN不仅让GAN重新回到竞争轨道上,而且为GAN图像处理开辟了新的可能性。正式版本将于本月发布。但是现在已经可以在一个非官方的演示中试用这个新工具了 DragGAN …

GitKraken 6.5.1免费中文版安装

今天发现SmartGit上传不了代码了, 看了一下过期了, 我不想花钱买, 就找个替代工具, 方便写代码, 方便合并代码, 方便点击提交代码, 免得敲命令浪费时间. 安装 6.5.1 版本 下载版本,已上传到 CSDN :GitKraken 6.5.1免费中文版安装更换快捷方式 C:\Users\kentrl\AppData\Local\…

Linux进程信号(一)

信号产生 1.信号基础知识2.初步认识信号3.signal函数4.技术应用角度的信号5.调用系统函数向进程发信号6.由软件条件产生的信号7.硬件异常产生信号8.core 🌟🌟hello,各位读者大大们你们好呀🌟🌟 🚀&#x1f…

GPT模型应用丨遥感云大数据在灾害、水体与湿地领域典型案例实践

​ ​ ​ ​ 第一部分 基础实践 一 平台及基础开发平台 GEE平台及典型应用案例介绍; GEE开发环境及常用数据资源介绍; ChatGPT、文心一言等GPT模型介绍 JavaScript基础简介; GEE遥感云重要概念与典型数据分析流程; …

基于单片机的智能鞋柜的设计与实现

功能介绍 以51单片机作为主控系统;通过DHT11温湿度采集;通过按键设置逻辑处理;通过LED紫外线消毒;通过继电器控制风扇进行换气除湿;通过继电器控制加热片进行加热;整个电路以5v供电; 电路图 PCB 源代码 #i…

《网络安全标准实践指南》(72页)

导读 摘要:为指导网络数据安全风险评估工作,发现数据安全隐患,防范数据安全风险,依据《中华人民共和国网络安全法》《中华人民共和国数据安全法》《中华人民共和国个人信息保护法》等法律法规,参照数据安全相关国家标…

[QT编程系列-2]:C++图形用户界面编程,QT框架快速入门培训 - 1- 预备知识

目录 概述 1. 前置条件 1.1 C 1.2 图形界面 1.3 图形程序集成开发环境 1.4 图形程序开发框架 1.5 跨平台特性 1.6 QT快速感知 1.6.1 QT的典型应用 1.6.2 QT的特点 1.6.3 QT跨平台集成开发环境 1.6.4 QT是一种UI开发框架 1.6.5 QT的主要函数库 概述 1. 前置条件 学习…

如何在Ubuntu18.04中下载MySQL5.7

检查环境 首先检查自己电脑有没有安装过mysql,输入如下: rpm -qa | grep mysql如果有则清理干净在安装,输入 whereis mysql找到文件夹目录,再把它删除 rpm -e --nodeps mysql-xxx检查系统是否自带mariadb,输入如下检查 rpm -…

Spring6 JdbcTemplate和事务

文章目录 1、JdbcTemplate1.1、简介1.2、准备工作1.3、实现CURD①装配 JdbcTemplate②测试增删改功能③查询数据返回对象④查询数据返回list集合⑤查询返回单个的值 2、声明式事务概念2.1、事务基本概念①什么是事务②事务的特性 2.2、编程式事务2.3、声明式事务 3、基于注解的…

MySQL存储函数和存储过程习题

创建表并插入数据 字段名 数据类型 主键 外键 非空 唯一 自增id INT 是 否 是 是 否name VARCHAR(50) 否 否 是 否 否glass VARCHAR(50) 否 否 是 否 否sch 表内容id name glass1 xiaommg glass 12 xiaojun glass 21、创建一个可以统计…