MYSQL第三次作业--单表查询

第三次作业 

 一、创建worker表

mysql> 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;
Query OK, 0 rows affected, 4 warnings (0.02 sec)

二、插入数据

mysql> INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (101, 1001, '2015-5-4', 3500.00, '群众', '张三', '1990-7-1');
Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (101, 1002, '2017-2-6', 3200.00, '团员', '李四', '1997-2-8');
Query OK, 1 row affected (0.02 sec)

mysql> INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (102, 1003, '2011-1-4', 8500.00, '党员', '王亮', '1983-6-8');
Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (102, 1004, '2016-10-10', 5500.00, '群众', '赵六', '1994-9-5');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (102, 1005, '2014-4-1', 4800.00, '党员', '钱七','1992-12-30');
Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (102, 1006, '2017-5-5', 4500.00, '党员', '孙八','1996-9-2');
Query OK, 1 row affected (0.01 sec)

 三、解答

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

mysql> SELECT * FROM `worker`;
+-----------+-----------+--------------+---------+--------------+--------+--------------+
| 部门号    | 职工号    | 工作时间     | 工资    | 政治面貌     | 姓名   | 出生日期     |
+-----------+-----------+--------------+---------+--------------+--------+--------------+
|       101 |      1001 | 2015-05-04   | 3500.00 | 群众         | 张三   | 1990-07-01   |
|       101 |      1002 | 2017-02-06   | 3200.00 | 团员         | 李四   | 1997-02-08   |
|       102 |      1003 | 2011-01-04   | 8500.00 | 党员         | 王亮   | 1983-06-08   |
|       102 |      1004 | 2016-10-10   | 5500.00 | 群众         | 赵六   | 1994-09-05   |
|       102 |      1005 | 2014-04-01   | 4800.00 | 党员         | 钱七   | 1992-12-30   |
|       102 |      1006 | 2017-05-05   | 4500.00 | 党员         | 孙八   | 1996-09-02   |
+-----------+-----------+--------------+---------+--------------+--------+--------------+
6 rows in set (0.00 sec)

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

mysql> select distinct `部门号` from `worker`;
+-----------+
| 部门号    |
+-----------+
|       101 |
|       102 |
+-----------+
2 rows in set (0.00 sec)

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

mysql> select count(`职工号`) from `worker`;
+--------------------+
| count(`职工号`)    |
+--------------------+
|                  6 |
+--------------------+
1 row in set (0.01 sec)

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

mysql> select MAX(`工资`)'最高工资', MIN(`工资`) as '最低工资' from `worker`;
+--------------+--------------+
| 最高工资     | 最低工资     |
+--------------+--------------+
|      8500.00 |      3200.00 |
+--------------+--------------+
1 row in set (0.00 sec)

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

mysql> select AVG(`工资`) '平均工资', SUM(`工资`)'总工资' from `worker`;
+--------------+-----------+
| 平均工资     | 总工资    |
+--------------+-----------+
|  5000.000000 |  30000.00 |
+--------------+-----------+
1 row in set (0.00 sec)

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

mysql> create  table work_date (
    -> `职工号` int auto_increment,
    -> `姓名` varchar(20) not null,
    -> `参加工作` varchar(50) not null,
    -> primary key (`职工号`))auto_increment=1001;
Query OK, 0 rows affected (0.01 sec)

mysql> desc work_date1;
+--------------+-------------+------+-----+---------+----------------+
| Field        | Type        | Null | Key | Default | Extra          |
+--------------+-------------+------+-----+---------+----------------+
| 职工号       | int         | NO   | PRI | NULL    | auto_increment |
| 姓名         | varchar(20) | NO   |     | NULL    |                |
| 参加工作     | varchar(50) | NO   |     | NULL    |                |
+--------------+-------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)


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


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

mysql> select `职工号`,`姓名`,`出生日期` from worker where `姓名` like '刘%';
Empty set (0.00 sec)

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

mysql> select `姓名`,`工作时间` from worker where  year(`工作时间`) < 1960;
Empty set (0.00 sec)

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

mysql> select `姓名` from worker where `工资` between 2000 and 4000;
+--------+
| 姓名   |
+--------+
| 张三   |
| 李四   |
+--------+
2 rows in set (0.00 sec)

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

mysql> select `姓名` from worker where `姓名` like '陈%' or `姓名`  like '李%';
+--------+
| 姓名   |
+--------+
| 李四   |
+--------+
1 row in set (0.00 sec)

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

mysql> select `职工号`,`姓名`,`政治面貌`  from worker where `部门号` = 102 or `部门号` = 103;
+-----------+--------+--------------+
| 职工号    | 姓名   | 政治面貌     |
+-----------+--------+--------------+
|      1003 | 王亮   | 党员         |
|      1004 | 赵六   | 群众         |
|      1005 | 钱七   | 党员         |
|      1006 | 孙八   | 党员         |
+-----------+--------+--------------+
4 rows in set (0.01 sec)

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

mysql> select * from worker order by  `出生日期` asc;
+-----------+-----------+--------------+---------+--------------+--------+--------------+
| 部门号    | 职工号    | 工作时间     | 工资    | 政治面貌     | 姓名   | 出生日期     |
+-----------+-----------+--------------+---------+--------------+--------+--------------+
|       102 |      1003 | 2011-01-04   | 8500.00 | 党员         | 王亮   | 1983-06-08   |
|       101 |      1001 | 2015-05-04   | 3500.00 | 群众         | 张三   | 1990-07-01   |
|       102 |      1005 | 2014-04-01   | 4800.00 | 党员         | 钱七   | 1992-12-30   |
|       102 |      1004 | 2016-10-10   | 5500.00 | 群众         | 赵六   | 1994-09-05   |
|       102 |      1006 | 2017-05-05   | 4500.00 | 党员         | 孙八   | 1996-09-02   |
|       101 |      1002 | 2017-02-06   | 3200.00 | 团员         | 李四   | 1997-02-08   |
+-----------+-----------+--------------+---------+--------------+--------+--------------+
6 rows in set (0.00 sec)

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

mysql> select `姓名`,`职工号` from worker order by `工资` desc limit 3;
+--------+-----------+
| 姓名   | 职工号    |
+--------+-----------+
| 王亮   |      1003 |
| 赵六   |      1004 |
| 钱七   |      1005 |
+--------+-----------+
3 rows in set (0.00 sec)

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

ysql> select `部门号`, count(`政治面貌`) as '总人数' from worker where `政治面貌` = '党员' group by `部门号`;
+-----------+-----------+
| 部门号    | 总人数    |
+-----------+-----------+
|       102 |         3 |
+-----------+-----------+
1 row in set (0.01 sec)

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

mysql> select `部门号` , sum(`工资`)'工资' , avg(`工资`)'平均工资' from worker group by `部门号`;
+-----------+----------+--------------+
| 部门号    | 工资     | 平均工资     |
+-----------+----------+--------------+
|       101 |  6700.00 |  3350.000000 |
|       102 | 23300.00 |  5825.000000 |
+-----------+----------+--------------+
2 rows in set (0.00 sec)

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

mysql> select `部门号`,count(`职工号`) as '总人数' from worker group by `部门号` having count(`职工号`)>=4;
+-----------+-----------+
| 部门号    | 总人数    |
+-----------+-----------+
|       102 |         4 |
+-----------+-----------+
1 row in set (0.00 sec)

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

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

相关文章

arrow,一个神奇的 Python 库!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个神奇的 Python 库 - arrow。 Github地址&#xff1a;https://github.com/arrow-py/arrow 日期和时间处理是许多应用程序中的常见任务&#xff0c;但在 Python 中&#xf…

聚类算法之Kmeans聚类详解

聚类算法是无监督学习算法&#xff0c;它根据样本之间的相似性&#xff0c;将样本划分到不同的类别中&#xff1b;不同的相似度计算方法&#xff0c;会得到不同的聚类结果&#xff0c;常用的相似度计算方法有欧氏距离法。聚类算法的目的是在没有先验知识的情况下&#xff0c;自…

亚马逊卖家必备神器:鲲鹏系统助力产品排名飙升

亚马逊鲲鹏系统是一款功能强大的工具&#xff0c;为亚马逊卖家提供了多种实用功能&#xff0c;旨在提高产品排名、增加自然流量&#xff0c;并模拟真实的人类操作&#xff0c;以规避亚马逊的检测系统。 下面是亚马逊鲲鹏系统的主要功能和8大特点&#xff1a; 主要功能&#xf…

MATLAB对话框与菜单设计实验

本文MATLAB源码&#xff0c;下载后直接打开运行即可[点击跳转下载]-附实验报告https://download.csdn.net/download/Coin_Collecter/88740733 一、实验目的 1.掌握建立控件对象的方法。 2.掌握对话框设计方法。 3.掌握菜单设计方法。 二、实验内容 建立如下图所示的菜单。菜单…

(2023版)斯坦福CS231n学习笔记:DL与CV教程 (2) | 图像分类与损失函数

前言 &#x1f4da; 笔记专栏&#xff1a;斯坦福CS231N&#xff1a;面向视觉识别的卷积神经网络&#xff08;23&#xff09;&#x1f517; 课程链接&#xff1a;https://www.bilibili.com/video/BV1xV411R7i5&#x1f4bb; CS231n: 深度学习计算机视觉&#xff08;2017&#xf…

从第一性原理看大模型Agent技术

本文由下面的内部分享视频文字稿重新整理而成 从第一性原理看大模型Agent技术 引 一个乐观主义者的悲观估计 随着大规模模型技术的兴起&#xff0c;我们正处于一个崭新的智能时代的黎明。我们有一个大胆的预测&#xff0c;未来的5到10年将可能带来一场大变局&#xff1a;99%的…

Java异常:toString()和getMessage()区别

首先写了两个错误 Controller public class DemoController {RequestMapping("/show1")public String showInfo(){String str null;str.length();return "index";}RequestMapping("/show2")public String showInfo2(){int a 10/0;return &quo…

java多线程(并发)夯实之路-synchronized锁升级深入浅出

轻量级锁 使用场景&#xff1a;一个对象有多线程访问&#xff0c;但时间是错开的&#xff08;如果多线程同时访问&#xff0c;也就是有竞争的&#xff0c;会升级为重量级锁&#xff09; 轻量级锁对使用者是透明的&#xff0c;语法仍是synchronized 例&#xff1a; 以上的代码…

天津Java开发培训哪家好?选Java培训班要考虑

在当今社会&#xff0c;Java语言在软件开发领域具有举足轻重的地位&#xff0c;Java是一门面向对象编程语言&#xff0c;Java语言集合了C的优点&#xff0c;丢弃了缺点&#xff0c;所以Java语言表现的功能强大而简单易用&#xff0c;已经得到越来越多的应届毕业生和职场新人的认…

智慧公厕创造智能、整洁、舒适环境,让“方便”更方便

在现代城市建设中&#xff0c;智慧公厕已成为一项热点技术。通过物联感知、云管理数据处理和人性化智能设备的融合&#xff0c;智慧公厕让我们的“方便”变得更加方便。不仅实时感知和监控公共厕所的情况&#xff0c;还提升管理效率&#xff0c;为市民提供更人性化的服务。智慧…

Authing 入选中国信通院《 2023 高质量数字化转型产品及服务全景图》

近日&#xff0c;中国信通院“铸基计划”发布了《高质量数字化转型产品及服务全景图( 2023 )》。Authing 身份云成功入选 IT 维护与运营领域并获得证书。 “十四五”时期&#xff0c;我国数字经济转向深化应用、规范发展、普惠共享的新阶段&#xff0c;数字化转型已成为传统企业…

STM32——电容触摸按键充电时间测量实验

1电容触摸按键 无手指触摸&#xff1a;上电时&#xff0c;电阻作用下&#xff0c;电容Cs进行充电&#xff0c;直到电容充满&#xff0c;这时候会有一个充电时间Tcs。 有手指触摸&#xff1a;上电时&#xff0c;电阻作用下&#xff0c;电容Cs和Cx进行充电&#xff0c;电容充满时…

2719. 统计整数数目

给你两个数字字符串 num1 和 num2 &#xff0c;以及两个整数 max_sum 和 min_sum 。如果一个整数 x 满足以下条件&#xff0c;我们称它是一个好整数&#xff1a; num1 < x < num2min_sum < digit_sum(x) < max_sum. 请你返回好整数的数目。答案可能很大&#xff…

jquery(一)

目录 &#x1f338;基本使用 &#x1f341;两大特性 &#x1f338;操作文档 &#x1f338;样式操作 &#x1f338;属性操作 &#x1f338;文档操作 &#x1f341;内部追加 &#x1f340;原来界面 &#x1f340;追加后界面 &#x1f341;外部追加 &#x1f340;原来界…

进阶Docker2:数据卷和挂载目录

目录 准备 删除容器 创建并运行一个容器 数据卷&#xff08;Volumes&#xff09; 挂载数据卷 虚拟机端口映射 挂载目录&#xff08;Bind mounts&#xff09; 挂载目录 挂载文件 部署在线项目 docker 在容器中管理数据主要有两种方式&#xff1a; - 数据卷&#xff0…

陪诊小程序开发|陪诊软件定制|陪诊系统成品功能包含哪些?

陪诊小程序是一种便捷的工具&#xff0c;为用户提供一系列服务和功能&#xff0c;方便患者在就医过程中获得更好的体验和效果。接下来我们将介绍几个主要的陪诊小程序功能。 陪诊小程序开发功能&#xff1a; 一、预约挂号功能。陪诊小程序能够连接用户和医疗机构的系统&#x…

ART-Adversarial Robustness Toolbox检测AI模型及对抗攻击的工具

一、工具简介 Adversarial Robustness Toolbox 是 IBM 研究团队开源的用于检测模型及对抗攻击的工具箱&#xff0c;为开发人员加强 AI模型被误导的防御性&#xff0c;让 AI 系统变得更加安全&#xff0c;ART支持所有流行的机器学习框架 &#xff08;TensorFlow&#xff0c;Ker…

什么是JAVA的包装类?用了有什么好处?

目录 一、包装类概述 二、包装类和基本数据类型的转换 三、使用包装类的ValueOf方法 四、基本类型和包装类的自动转换 一、包装类概述 Java的包装类是为了方便操作基本数据类型而提供的类。Java的基本数据类型&#xff08;如int、char、boolean等&#xff09;是非对象的&a…

【备战蓝桥杯】——Day1

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-xKn7nmq36s9pgUXR {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

Django教程第4章 | Web开发实战-三种验证码实现

系列&#xff1a;Django学习教程 验证码的存在是为了防止系统被暴力破解攻击&#xff0c;几乎每个系统都有验证码。下面将介绍三种生成验证码方式。 您可以根据你自己的需要进行学习。 手动生成验证码 安装绘图依赖&#xff0c;利用的是画图模块 PIL 以及随机模块 random 在后…