数据库作业——select查询操作

数据库作业

在这里插入图片描述
在这里插入图片描述

创建数据库

mysql> create table worker(                                                -> 部门号 int(11) not null,                                            -> 职工号 int(11) primary key not null,-> 工作时间 date not null,-> 工资 float(8,2) not null,-> 政治面貌 varchar(10) not null default '群众',-> 姓名 varchar(20) not null,-> 出生日期 date not null-> )engine=innoDB default charset=utf8 row_format=dynamic;  

在这里插入图片描述
插入数据

mysql> insert into worker(部门号,职工号,工作时间,工资,政治面貌,姓名,出生日期) values(101,1001,'2015-5-4',3500.00,'群众','张三','1990-7-1');mysql> insert into worker(部门号,职工号,工作时间,工资,政治面貌,姓名,出生日期) values(101,1002,'2017-2-6',3200.00,'团员','李四','1997-2-8');mysql> insert into worker(部门号,职工号,工作时间,工资,政治面貌,姓名,出生日期) values(102,1003,'2011-1-4',8500.00,'党员','王亮','1983-6-8');mysql> insert into worker(部门号,职工号,工作时间,工资,政治面貌,姓名,出生日期) values(102,1004,'2016-10-10',5500.00,'群众','赵六','1994-9-5');mysql> insert into worker(部门号,职工号,工作时间,工资,政治面貌,姓名,出生日期) values(102,1005,'2014-4-1',4800.00,'党员','钱七','1992-12-30');mysql> insert into worker(部门号,职工号,工作时间,工资,政治面貌,姓名,出生日期) values(102,1006,'2017-5-5',4500.00,'党员','孙八','1996-9-2');

在这里插入图片描述

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

mysql> select * from worker;

在这里插入图片描述

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

mysql> select distinct 部门号 from worker;

在这里插入图片描述

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

mysql> select count(职工号) as 总人数 from worker;

在这里插入图片描述
4、列出最高工和最低工资。

mysql> select max(工资) as 最高工资, min(工资) as 最低工资 from worker;

在这里插入图片描述
5、列出职工的平均工资和总工资。

mysql> select avg(工资) as 平均工资, sum(工资) as 总工资 from worker;

在这里插入图片描述

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

mysql> create table work_date select 职工号,姓名,工作时间 from worker;

在这里插入图片描述
7、显示所有女职工的年龄。
给表结构插入性别,并建立约束

mysql> alter table worker add 性别 varchar(5);
mysql> alter table worker add constraint ck_worker_gender check(性别 in ('男','女'));

修改性别

mysql> update worker set 性别='女' where 职工号=1001;mysql> update worker set 性别='男' where 职工号=1002;mysql> update worker set 性别='男' where 职工号=1003;mysql> update worker set 性别='男' where 职工号=1004;mysql> update worker set 性别='女' where 职工号=1005;mysql> update worker set 性别='女' where 职工号=1006;

在这里插入图片描述

mysql有内置函数可以进行使用,其中curdate()函数是获取电脑的当前日期,timestampdiff()函数可以将将当前日期与出生日期进行对比计算出年龄
在这里插入图片描述

mysql> mysql> select 职工号,姓名,性别,timestampdiff(year, 出生日期, curdate()) as 年龄 from worker where 性别='女';

在这里插入图片描述

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

mysql> select 职工号,姓名,出生日期 from worker where 姓名 like '刘%';

在这里插入图片描述

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

mysql> select 姓名,工作时间  from worker where 出生日期 < '1960-1-1';

在这里插入图片描述

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

mysql> select 姓名 from worker where 工资 < 2000 and 工资 > 1000;

在这里插入图片描述

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

mysql> select 姓名 from worker where 姓名 like '陈%' or 姓名 like '李%';

在这里插入图片描述

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

mysql> select 职工号,姓名,政治面貌 from worker where 部门号=102 or 部门号=103;

在这里插入图片描述

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

mysql> select * from worker order by 出生日期;

在这里插入图片描述

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

mysql> select 职工号,姓名 from worker order by 工资 desc limit 3;

在这里插入图片描述

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

mysql> select 部门号, count(*) as 党员人数 from worker where 政治面貌='党员' group by 部门号;

在这里插入图片描述

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

mysql> select 部门号, sum(工资) as 总工资, avg(工资) as 平均工资 from worker  group by 部门号;

在这里插入图片描述

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

mysql> select 部门号, count(*) as 总人数 from worker group by 部门号 having 总人数 > 4;

在这里插入图片描述

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

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

相关文章

MiniGPT4 在RTX-3090 Ubuntu服务器部署步骤详解

主要参考知乎帖子&#xff1a; MiniGPT-4 本地部署 RTX 3090 - 知乎 MiniGPT-4部署比麻烦&#xff0c;首先需要获取LLaMA权重&#xff0c;并结合Vicuna的bitwise XOR增量文件完成Vicuna模型权重生成&#xff0c;最后准备好预训练的MiniGPT-4进行模型部署。为了便于理解&#…

这3个方法教你录音转文字怎么导出来

在日常生活中&#xff0c;我们有时候可能需要将音频转换为文本&#xff0c;因为这样可以节省我们听的时间&#xff0c;还能让记录更加清楚明了。那么&#xff0c;你是否知道录音转文字怎么导出来&#xff1f;如果你不懂&#xff0c;请接着看我下面介绍的三种方法吧&#xff01;…

pytorch安装问题【超级简单版】

pytorch安装问题 当前遇到的问题&#xff1a; python3.9无法安装读取coco数据集的 pycocotools-windows,那么需要切换版本到3.6/7/8&#xff0c;但是切换到python 3.6之后&#xff0c;无法安装torchvision和pytorch【在python就叫torch】&#xff0c;显示没有这个版本 pip i…

[RocketMQ] Broker 消息重放服务源码解析 (十三)

构建消息文件ConsumeQueue和IndexFile。 ConsumeQueue: 看作是CommitLog的消息偏移量索引文件, 存储了它所属Topic的消息在Commit Log中的偏移量。消费者拉取消息的时候, 可以从Consume Queue中快速的根据偏移量定位消息在Commit Log中的位置。IndexFile索引文件: 看作是Commi…

UE4 像素流的一些使用技巧

一、测试像素流的三种方法&#xff0c;前提是熟悉官网像素流送那套流程&#xff0c;这里只是讲如何不用打包就能测试的方法 1.第一种方法是vs安装unrealvs扩展&#xff0c;因为安装这个拓展后加可以加命令行参数启动项目https://docs.unrealengine.com/4.26/zh-CN/ProductionP…

怎么用PDF24 Tools工具在线进行PDF文件合并

PDF文件是经常会被用到&#xff0c;它在我们的日常生活和工作中扮演着重要的角色。PDF文件合并是将多个PDF文件合并为单个文件&#xff0c;这个过程通常是为了方便管理多个PDF文件&#xff0c;或者将多个PDF文件合并为一个整体以便于共享或打印。既然如此&#xff0c;如何快速合…

Spring5学习笔记--详细一文通

Spring5学习笔记--详细一文通 1 Spring 框架概述1.1 Spring 5 简述1.2 Spring5入门案例1.2.1 Spring5下载1.1.2 打开 idea 工具&#xff0c;创建普通 Java 工程1.2.3 导入 Spring5 相关 jar 包1.2.4 创建普通类&#xff0c;在这个类创建普通方法1.2.5 创建 Spring 配置文件&…

迅捷录屏软件使用中的注意事项

取消勾选时就不会出现右侧的悬浮框滑动的窗口了。 取消鼠标高亮后&#xff0c;录制的视频就不会出现一个空心的小圆圈。

实战解决百度旋转验证码

1、效果演示 2、如何识别 2.1准备数据集 首先需要使用爬虫&#xff0c;对验证码图片进行采集&#xff0c;尽量每一种类型都要采集到。 2.2图像矫正 接下来对采集的数据进行人工校正 2.3数据清洗 &#xff08;1&#xff09;对数据进行进行旋转&#xff0c;达到增加数据量的目…

ubuntu RPM should not be used directly install RPM packages, use Alien instead!

ubuntu RPM should not be used directly install RPM packages, use Alien instead! 所以我们最好下载deb版本的安装包 安装 参考文章

多线程设计模式【线程安全、 Future 设计模式、Master-Worker 设计模式 】(一)-全面详解(学习总结---从入门到深化)

目录 Single Thread Execution 设计模式 线程安全 Future 设计模式 Master-Worker 设计模式 生产者消费者设计模式 定义不可变对象的策略 Single Thread Execution 设计模式 机场过安检 Single Thread Execution 模式是指在同一时刻只能有一个线程去访问共享资源&#xff…

Qt提取excel表单中数据

这是一个excel表单&#xff0c;目标是把其中的数据提取出来。 文章学习自&#xff1a;QT中将excel中的数据快速的读取出来显示在tablewidget中/将tablewidget中的数据快速的写入excel中_qt将excel表格中指定范围内容显示在界面中_Jessica_1409573408的博客-CSDN博客 程序如下&…