当前位置: 首页 > news >正文

第三次作业

一、单表查询

素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等

CREATE TABLE `worker` (

`部门号` int(11) NOT NULL,

`职工号` int(11) NOT NULL,

`工作时间` date NOT NULL,

`工资` float(8,2) NOT NULL,

`政治面貌` varchar(10) NOT NULL DEFAULT '群众',

`姓名` varchar(20) NOT NULL,

`出生日期` date NOT NULL,

PRIMARY KEY (`职工号`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生

日期`) VALUES (101, 1001, '2015-5-4', 3500.00, '群众', '张三', '1990-7-1');

INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生

日期`) VALUES (101, 1002, '2017-2-6', 3200.00, '团员', '李四', '1997-2-8');

INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生

日期`) VALUES (102, 1003, '2011-1-4', 8500.00, '党员', '王亮', '1983-6-8');

INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生

日期`) VALUES (102, 1004, '2016-10-10', 5500.00, '群众', '赵六', '1994-9-5');

INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生

日期`) VALUES (102, 1005, '2014-4-1', 4800.00, '党员', '钱七', '1992-12-30');

INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生

日期`) VALUES (102, 1006, '2017-5-5', 4500.00, '党员', '孙八', '1996-9-2');

1、显示所有职工的基本信息。

2、查询所有职工所属部门的部门号,不显示重复的部门号。

3、求出所有职工的人数。

4、列出最高工和最低工资。

5、列出职工的平均工资和总工资。

6、创建一个只有职工号、姓名和参加工作的新表,名为工作日期表。

7、显示所有女职工的年龄。

8、列出所有姓刘的职工的职工号、姓名和出生日期。

9、列出1960年以前出生的职工的姓名、参加工作日期。

10、列出工资在1000-2000之间的所有职工姓名。

11、列出所有陈姓和李姓的职工姓名。

12、列出所有部门号为2和3的职工号、姓名、党员否。

13、将职工表worker中的职工按出生的先后顺序排序。

14、显示工资最高的前3名职工的职工号和姓名。

15、求出各部门党员的人数。

16、统计各部门的工资和平均工资

17、列出总人数大于4的部门号和总人数。

操作步骤

1、显示所有职工的基本信息。

select * from worker;

2、查询所有职工所属部门的部门号,不显示重复的部门号。

select distinct `部门号` from worker;

3、求出所有职工的人数。

select count(`姓名`) from worker;

4、列出最高工和最低工资。

# 最高 降序排序 取第一个

select `工资` from worker order by `工资` desc limit 0,1;

# 最低 升序排序 取第一个

select `工资` from worker order by `工资` asc limit 0,1;

5、列出职工的平均工资和总工资。

# 平均工资

select avg(`工资`) from worker;

# 总工资

select sum(`工资`) from worker;

select avg(`工资`) 平均工资,sum(`工资`) 总工资 from worker;

6、创建一个只有职工号、姓名和参加工作的新表,名为工作日期表。

create table `工作日期` (

`职工号` int(11) NOT NULL,

`姓名` varchar(20) NOT NULL,

`工作时间` date NOT NULL,

PRIMARY KEY (`职工号`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

7、列出1960年以前出生的职工的姓名、参加工作日期。

# datediff()用于计算两个日期之间的天数

-- datediff函数,返回值是相差的天数,不能定位到小时、分钟和秒

SELECT datediff(now(),`出生日期` ) as age FROM worker;

# TIMESTAMPDIFF函数,有参数设置,可以精确到天(DAY)、小时(HOUR),分钟(MINUTE)和秒(SECOND)

-- 使用起来比datediff函数更加灵活。对于比较的两个时间,时间小的放在前面,时间大的放在后面。

SELECT TIMESTAMPDIFF(year,`出生日期`,NOW()) as age FROM worker;

8、列出工资在1000-2000之间的所有职工姓名。

select `姓名` from worker where `工资` between 3000 and 5000;

select `姓名`,`工资` from worker where `工资` between 3000 and 5000;

9、列出所有陈姓和李姓的职工姓名。

select `姓名` from worker where (`姓名` like'陈%') or (`姓名` like'李%');

10、列出所有部门号为2和3的职工号、姓名、党员否。

select * from worker where find_in_set('党员',政治面貌);

select * from worker where locate('党员',政治面貌);

# locate() 查找某个字段里面是否有某个某个字符串 是(1)否(0)

select `职工号`,`姓名`,(locate('党员',政治面貌)) as `是(1)否(0)党员` from worker where `部门号`=102 or `部门号`=103;

11、将职工表worker中的职工按出生的先后顺序排序。

select * FROM worker ORDER BY `出生日期`;

12、显示工资最高的前3名职工的职工号和姓名。

select `职工号`,`姓名` from worker ORDER BY `工资` desc limit 0,3;

13、求出各部门党员的人数。

SELECT `部门号` from worker WHERE `政治面貌`='党员';

select `部门号`,count(`部门号`) from worker GROUP BY `部门号`;

# locate() 查找某个字段里面是否有某个某个字符串 是(1)否(0

select `部门号`,sum(locate('党员',政治面貌)) 党员数 from worker GROUP BY `部门号`;

14、统计各部门的工资和平均工资

select `部门号`,sum(工资) 总工资,avg(工资) 平均工资 from worker GROUP BY `部门号`;

15、列出总人数大于4的部门号和总人数。

select `部门号`,count(姓名) 总人数 from worker GROUP BY `部门号` HAVING count(姓名) >2 ;

select `部门号`,count(姓名) 总人数 from worker GROUP BY `部门号` HAVING count(姓名) >4 ;

相关文章:

第三次作业

一、单表查询素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等CREATE TABLE worker (部门号 int(11) NOT NULL,职工号 int(11) NOT NULL,工作时间 date NOT NULL,工资 float(8,2) NOT NULL,政治面貌 varchar(10) N…...

基础算法(直接插入,希尔排序,快排,归并,折半查找)

/*直接插入:把待排序序列分为有无序区和和无序区,使用无序区的数据一次插入倒有序区中,最终结果尾有序序列 1> 把数据分为有序区和无序区,默认第一个元素在有序区,剩下在无序区 2> 外层循环,循环无…...

电子学会2022年12月青少年软件编程(图形化)等级考试试卷(一级)答案解析

目录 一、单选题(共25题,共50分) 二、判断题(共10题,共20分) 三、编程题(共2题,共30分) 青少年软件编程(图形化)等级考试试卷(一级) 一、单选题(共25题,共50分) 1. 小明想在开始…...

基于JAVA的超级玛丽设计与实现

技术:Java等摘要:随着计算机技术及网络技术的不断发展,电子游戏越来越普及。经典游戏“超级玛丽”因其本身所具有的娱乐性与教育意义而被人们广泛接受,在广大的青少年玩家中享有极高的知名度。Java语言作为一种完全面向对象的程序…...

硬件工程师入门基础知识(一)基础元器件认识(二)

硬件工程师入门基础知识 (一)基础元器件认识(二) tips:学习资料和数据来自《硬件工程师炼成之路》、百度百科、网上资料。 1.二极管 2.三极管 3.MOS管 4.IGBT 5.晶振 1.二极管 肖特基二极管和硅二极管的比较&#…...

Python-项目实战--贪吃蛇小游戏-游戏框架搭建(2)

1.游戏框架搭建介绍pygame开发图像界面游戏的几个要素,并且把贪吃蛇游戏的整体框架搭建完成本节知识点包括:pygame的初始化和退出游戏主窗口游戏循环和游戏时钟主窗口背景颜色绘制文本pygame的坐标系游戏事件监听绘制图形定时器事件1.1pygame的初始化和退…...

JVM基础

JVM基础 1.JVM的位置 JVM是运行在操作系统之上的,它与硬件没有直接的交互 2.JVM体系结构图 这个区域一定不会有垃圾回收 所谓JVM的调优,其实就是在调这个区域,而且99%情况下都在调堆 ! 3.类加载器ClassLoader 先来看看一个类加载到 JVM 的…...

Android 内存优化(基础轮)必看~

本次分享主要分为五个部分内容,第一部分内容是 5W2H 分析内存优化,第二部分内容是内存管理机制,第三部分内容是内存优化 SOP,第四部分内容是 内存优化指导原则, 最后一部分内容是总结与展望。 如果学完内存优化的基础论…...

STM32单片机GSM短信自动存取快递柜

实践制作DIY- GC0104-自动存取快递柜 一、功能说明: 基于STM32单片机设计-自动存取快递柜 二、功能介绍: STM32F103C系列最小系统板0.96寸OLED显示器DY-SV17F串口语音播报模块4*4矩阵键盘GSM短信模块4路舵机(模拟4个柜子) ***…...

力扣(LeetCode)410. 分割数组的最大值(2023.02.12)

给定一个非负整数数组 nums 和一个整数 m ,你需要将这个数组分成 m 个非空的连续子数组。 设计一个算法使得这 m 个子数组各自和的最大值最小。 示例 1: 输入:nums [7,2,5,10,8], m 2 输出:18 解释: 一共有四种方法…...

管理还原数据

还原数据还原数据是:• 原始的、修改之前的数据副本• 针对更改数据的每个事务处理而捕获• 至少保留到事务处理结束• 用于支持:– 回退操作– 读取一致性查询– Oracle 闪回查询、Oracle 闪回事务处理和 Oracle 闪回表– 从失败的事务处理中进行恢复存…...

c的关键字有那些

编程语言中的关键字 C语言简洁、紧凑,使用方便、灵活。ANSI C标准C语言共有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以像汇编语言一样对位、字节和…...

链表OJ(一)

目录 从尾到头打印链表_牛客题霸_牛客网 160. 相交链表 141. 环形链表 142. 环形链表 II 138. 复制带随机指针的链表 从尾到头打印链表_牛客题霸_牛客网 输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。 如输入…...

MySQL第三次作业

1、显示所有职工的基本信息。 2、查询所有职工所属部门的部门号,不显示重复的部门号。 3、求出所有职工的人数。 4、列出最高工和最低工资。 5、列出职工的平均工资和总工资。 6、创建一个只有职工号、姓名和参加工作的新表,名为工作日期表…...

Python中的类和对象(7)

1.私有变量 在大多数面向对象的编程语言中,都存在着私有变量(private variable)的概念,所谓私有变量,就是指通过某种手段,使得对象中的属性或方法无法被外部所访问。 Python 对于私有变量的实现是引入了一…...

【JVM】7种经典的垃圾收集器

文章目录1. 垃圾收集器概述2. Serial 收集器3. ParNew 收集器4. Paraller Scavenge 收集器5. Serial Old收集器6. Parller Old收集器7. CMS 收集器8. Garbage First 收集器本文参考:深入理解Java虚拟机:JVM高级特性与最佳实践(第3版&#xff…...

2023/2/12总结

滑动窗口(1)滑动窗口是一种基于双指针的思想,两个指针指向的元素形成一个窗口。一般用于求取数组或字符串的某个子串、子序列、最长最短等最值或者求某个目标值时,并且该问题本身可以通过暴力解决。滑动窗口分为固定窗口和不定窗口…...

Linux之正则表达式

正则表达式是组成“操作”的基本语法,而这些“操作”是应用于Sed和Awk必备的能力。因此只有了解了正则表达式,才能学好Sed和Awk。正则表达式分为基础正则表达式(Regular Expression)与扩展正则表达式(Extended Regular…...

前端高频面试题-HTML和CSS篇(一)

💻 前端高频面试题-HTML和CSS篇(一) 🏠专栏:前端面试题 👀个人主页:繁星学编程🍁 🧑个人简介:一个不断提高自我的平凡人🚀 🔊分享方向…...

Redis 专题总结

1. 什么是Redis ? 处理:内容缓存,主要用于处理大量数据的高访问负载。Redis是一款高性能的NOSQL系列的非关系型数据库,NoSQL(NoSQL Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念&#xff0…...

波色量子获18.4亿融资,1000量子比特计算机让肿瘤切缘识别、脑电解码大提速!

【导语:科幻电影中令人惊叹的量子计算机,如今已从实验室走向商业化落地。波色量子成立三年获11轮融资,累计金额达18.4亿元。其量子计算能力在多个行业实现应用,尤其在生命科学领域展现出巨大潜力。】波色量子:资本竞逐…...

在多模型AI客服场景下利用Taotoken实现成本与效果的平衡

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在多模型AI客服场景下利用Taotoken实现成本与效果的平衡 应用场景类,设想一个在线客服系统需要集成对话AI的场景&#…...

解决Claude Code频繁封号与Token不足的替代接入方案

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 解决Claude Code频繁封号与Token不足的替代接入方案 1. 场景与核心思路 对于依赖Claude Code进行编程辅助的开发者而言&#xff0…...

别再折腾了!STM32CubeMX+Keil 5+Proteus 8.9保姆级联调配置,一次搞定

STM32开发环境联调实战:从零搭建CubeMXKeilProteus高效工作流 第一次接触STM32开发时,我被各种工具链的配置折磨得焦头烂额——CubeMX生成的工程在Keil里报错、Proteus仿真时芯片毫无反应、Debug选项神秘消失...如果你也经历过这种绝望,这篇文…...

Visual C++ 运行库终极修复指南:一键解决系统兼容性问题

Visual C 运行库终极修复指南:一键解决系统兼容性问题 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist VisualCppRedist AIO 是解决 Windows 系统 Vis…...

别再只用if-else了!用Simulink Relay模块给你的控制逻辑加个‘缓冲带’(附C代码生成分析)

别再只用if-else了!用Simulink Relay模块给你的控制逻辑加个‘缓冲带’(附C代码生成分析) 在嵌入式控制系统的开发中,我们常常需要处理各种阈值判断和状态切换。传统的if-else结构虽然简单直接,但在实际应用中往往会导…...

别再只调包了!用PyTorch从零手搓一个Unet,搞懂语义分割的每个细节

从零构建Unet:深入解析语义分割的代码实现与设计哲学 在计算机视觉领域,语义分割一直是极具挑战性的任务之一。不同于简单的图像分类,语义分割需要模型对图像中的每一个像素进行分类,这要求模型既要理解全局上下文信息&#xff0c…...

Universal Data Tool 新功能解析:骨骼姿态标注与数据格式转换实战

1. 项目概述:一个数据标注工具的进化最近在整理一个计算机视觉项目的数据集时,我又一次打开了Universal Data Tool(UDT)。这个工具我用了快两年了,从它早期版本支持基础的图像分类和物体检测框标注开始,就一…...

计算机视觉工程师必须掌握的颜色空间选型指南

1. 项目概述:为什么计算机视觉工程师必须懂颜色理论你有没有遇到过这样的情况:模型在训练集上准确率98%,一到测试集就掉到72%?调试半天发现,不是数据标注错了,也不是网络结构有问题,而是训练图像…...

LLM训练实战:8个编程谜题带你掌握分布式训练核心技术

1. 项目概述与核心价值如果你对大型语言模型(LLM)的训练过程感到好奇,或者你听说过“千卡集群”、“万亿参数”这些词,但总觉得它们离自己很遥远,那么这个名为“LLM Training Puzzles”的项目,就是为你量身…...