MySQL学习作业二

作业描述

 SQL语言

建库,使用库

mysql> create database mydb8_worker;#新建库mysql> use mydb8_worker;

建表,查看表

#建表
mysql> create table t_worker(department_id int(11) not null comment'部门号',worker_id int(11) primary key not null comment'职工号',worker_date date not null comment'工作时间',wages float(8,2) not null comment'工资',politics varchar(10) not null default'群众' comment'政治面貌',name varchar(20) not null comment '姓名',borth_date date not null comment'出生日期');
Query OK, 0 rows affected, 3 warnings (0.01 sec)mysql> desc t_worker;
+---------------+-------------+------+-----+---------+-------+
| Field         | Type        | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
| department_id | int         | NO   |     | NULL    |       |
| worker_id     | int         | NO   | PRI | NULL    |       |
| worker_date   | date        | NO   |     | NULL    |       |
| wages         | float(8,2)  | NO   |     | NULL    |       |
| politics      | varchar(10) | NO   |     | 群众    |       |
| name          | varchar(20) | NO   |     | NULL    |       |
| borth_date    | date        | NO   |     | NULL    |       |
+---------------+-------------+------+-----+---------+-------+
7 rows in set (0.00 sec)

插入数据

#插入数据
mysql> insert into t_worker values (101,1001,'2015-5-4',7500.00,'群众',张春燕','1990-7-1');
Query OK, 1 row affected (0.01 sec)mysql> insert into t_worker values(101,1002,'2019-2-6',5200.00,'团员','李明博','1997-2-8');
Query OK, 1 row affected (0.00 sec)mysql> insert into t_worker values(102,1003,'2008-1-4',10500.00,'党员',王博涵','1983-6-8');
Query OK, 1 row affected (0.00 sec)mysql> insert into t_worker values(102,1004,'2016-10-10',5500.00,'群众','赵小军','1994-9-5');
Query OK, 1 row affected (0.01 sec)mysql> insert into t_worker values(102,1005,'2014-4-1',8800.00,'党员','钱有财','1992-12-30');
Query OK, 1 row affected (0.01 sec)mysql> insert into t_worker values(103,1006,'2019-5-5',5500.00,'党员','孙菲菲','1996-9-2');
Query OK, 1 row affected (0.00 sec)

查询

#(1)显示所有职工的基本信息   

mysql> select * from t_worker;
+---------------+-----------+-------------+----------+----------+-----------+------------+
| department_id | worker_id | worker_date | wages    | politics | name      | borth_date |
+---------------+-----------+-------------+----------+----------+-----------+------------+
|           101 |      1001 | 2015-05-04  |  7500.00 | 群众     | 张春燕    | 1990-07-01 |
|           101 |      1002 | 2019-02-06  |  5200.00 | 团员     | 李明博    | 1997-02-08 |
|           102 |      1003 | 2008-01-04  | 10500.00 | 党员     | 王博涵    | 1983-06-08 |
|           102 |      1004 | 2016-10-10  |  5500.00 | 群众     | 赵小军    | 1994-09-05 |
|           102 |      1005 | 2014-04-01  |  8800.00 | 党员     | 钱有财    | 1992-12-30 |
|           103 |      1006 | 2019-05-05  |  5500.00 | 党员     | 孙菲菲    | 1996-09-02 |
+---------------+-----------+-------------+----------+----------+-----------+------------+
6 rows in set (0.00 sec)

#(2)查询所有职工所属部门的部门号,不显示重复的部门号

mysql> select distinct department_id from t_worker;
+---------------+
| department_id |
+---------------+
|           101 |
|           102 |
|           103 |
+---------------+
3 rows in set (0.00 sec)

#(3)求出所有职工的人数

mysql> desc t_worker;
+---------------+-------------+------+-----+---------+-------+
| Field         | Type        | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
| department_id | int         | NO   |     | NULL    |       |
| worker_id     | int         | NO   | PRI | NULL    |       |
| worker_date   | date        | NO   |     | NULL    |       |
| wages         | float(8,2)  | NO   |     | NULL    |       |
| politics      | varchar(10) | NO   |     | 群众    |       |
| name          | varchar(20) | NO   |     | NULL    |       |
| borth_date    | date        | NO   |     | NULL    |       |
+---------------+-------------+------+-----+---------+-------+
7 rows in set (0.00 sec)mysql> select count(worker_id) from t_worker;
+------------------+
| count(worker_id) |
+------------------+
|                6 |
+------------------+
1 row in set (0.00 sec)

#(4)列出最高工资和最低工资

mysql> select max(wages) as '最高工资',min(wages) as '最低工资' from t_worker;
+--------------+--------------+
| 最高工资     | 最低工资     |
+--------------+--------------+
|     10500.00 |      5200.00 |
+--------------+--------------+
1 row in set (0.00 sec)

#(5)列出职工的平均工资和总工资

mysql> select avg(wages) as '平均工资',sum(wages) as '总工资' from t_worker;
+--------------+-----------+
| 平均工资     | 总工资    |
+--------------+-----------+
|  7166.666667 |  43000.00 |
+--------------+-----------+
1 row in set (0.00 sec)

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

mysql> create table 工作日期表 (worker_id int(11) primary key not null comment'职工号',name varchar(20) not null comment'姓名',work varchar(50) not null comment'参加工作');
Query OK, 0 rows affected, 1 warning (0.02 sec)mysql> desc 工作日期表;
+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| worker_id | int         | NO   | PRI | NULL    |       |
| name      | varchar(20) | NO   |     | NULL    |       |
| work      | varchar(50) | NO   |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

#(7)显示所有党员的年龄

mysql> select politics '政治面貌',name '姓名', year(now())-year(borth_date) '年龄' from t_worker where politics='党员';
+--------------+-----------+--------+
| 政治面貌     | 姓名      | 年龄   |
+--------------+-----------+--------+
| 党员         | 王博涵    |     41 |
| 党员         | 钱有财    |     32 |
| 党员         | 孙菲菲    |     28 |
+--------------+-----------+--------+
3 rows in set (0.00 sec)

#(8)列出工资在4000-8000之间的所有职工姓名

mysql> select name '姓名' from t_worker where wages between 4000 and 8000;
+-----------+
| 姓名      |
+-----------+
| 张春燕    |
| 李明博    |
| 赵小军    |
| 孙菲菲    |
+-----------+
4 rows in set (0.00 sec)

#(9)列出所有孙姓和李姓的职工姓名

mysql> select name '姓名' from t_worker where name like '孙%' or name like '李%';
+-----------+
| 姓名      |
+-----------+
| 李明博    |
| 孙菲菲    |  
+-----------+
2 rows in set (0.00 sec)

#(10)列出所有部门号为102和103且不是党员的职工号、姓名

mysql> select worker_id ,name from t_worker where (department_id=102 or department_id=103) and politics != '党员';
+-----------+-----------+
| worker_id | name      |
+-----------+-----------+
|      1004 | 赵小军    |
+-----------+-----------+
1 row in set (0.00 sec)

#(11)将职工表t_worker中的职工按出生的先后顺序排序

mysql> select * from t_worker order by borth_date asc;
+---------------+-----------+-------------+----------+----------+-----------+------------+
| department_id | worker_id | worker_date | wages    | politics | name      | borth_date |
+---------------+-----------+-------------+----------+----------+-----------+------------+
|           102 |      1003 | 2008-01-04  | 10500.00 | 党员     | 王博涵    | 1983-06-08 |
|           101 |      1001 | 2015-05-04  |  7500.00 | 群众     | 张春燕    | 1990-07-01 |
|           102 |      1005 | 2014-04-01  |  8800.00 | 党员     | 钱有财    | 1992-12-30 |
|           102 |      1004 | 2016-10-10  |  5500.00 | 群众     | 赵小军    | 1994-09-05 |
|           103 |      1006 | 2019-05-05  |  5500.00 | 党员     | 孙菲菲    | 1996-09-02 |
|           101 |      1002 | 2019-02-06  |  5200.00 | 团员     | 李明博    | 1997-02-08 |
+---------------+-----------+-------------+----------+----------+-----------+------------+
6 rows in set (0.00 sec)

#(12)显示工资最高的前3名职工的职工号和姓名

mysql> select worker_id,name from t_worker order by wages desc limit 0,3;
+-----------+-----------+
| worker_id | name      |
+-----------+-----------+
|      1003 | 王博涵    |
|      1005 | 钱有财    |
|      1001 | 张春燕    |
+-----------+-----------+
3 rows in set (0.00 sec)

#(13)求出各部门党员的人数

mysql> select department_id '部门号' ,count(worker_id) '人数' from t_worker group by department_id;
+-----------+--------+
| 部门号    | 人数   |
+-----------+--------+
|       101 |      2 |
|       102 |      3 |
|       103 |      1 |
+-----------+--------+
3 rows in set (0.00 sec)

#(14)统计各部门的工资和平均工资并保留2位小数

mysql> select department_id '部门号' ,cast(avg(wages) as decimal(10,2)) '平均工资' from t_worker group by department_id;
+-----------+--------------+
| 部门号    | 平均工资     |
+-----------+--------------+
|       101 |      6350.00 |
|       102 |      8266.67 |
|       103 |      5500.00 |
+-----------+--------------+
3 rows in set (0.00 sec)

#(15)列出总人数大于等于3的部门号和总人数

mysql> select department_id ,count(worker_id) from t_worker group by department_id having count(worker_id)>=3;
+---------------+------------------+
| department_id | count(worker_id) |
+---------------+------------------+
|           102 |                3 |
+---------------+------------------+
1 row in set (0.00 sec)

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

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

相关文章

无人机足球比赛技术详解

一、无人机类型参数 在无人机比赛中,不同类型的无人机因其独特的参数配置而表现出不同的性能。这些参数包括但不限于: 1. 机体尺寸:小型无人机适合室内或狭窄空间比赛,而大型无人机则更适用于室外大场地赛事。 2. 动力系统&…

动态路由协议 —— EIGRP 与 OSPF 的区别

EIGRP(增强内部网关路由协议)和 OSPF(开放式最短路径优先)是两种最常见的动态路由协议,主要是用来指定路由器或交换机之间如何通信。将其应用于不同的情况下,可提高速率、延迟等方面的性能。那么它们之间到…

IO多路复用-select的使用详解【C语言】

1.多进程/线程并发和IO多路复用的对比 IO多路转接也称为IO多路复用,它是一种网络通信的手段(机制),通过这种方式可以同时监测多个文件描述符并且这个过程是阻塞的,一旦检测到有文件描述符就绪( 可以读数据…

【数据结构进阶】二叉搜索树

🔥个人主页: Forcible Bug Maker 🔥专栏: C || 数据结构 目录 🌈前言🔥二叉搜索树🔥 二叉搜索树的实现Insert(插入)find(查找)erase(删除)destro…

分布式锁、Lua脚本、redisson、运行lua脚本优化代码

20240721 一、分布式锁1. 什么是分布式锁2. 分布式锁的实现3. 基于redis的分布式锁4 总结 二、对于lua脚本可以保证事务,要么成功要么失败。1. 在redis中调用lua脚本 三、Redisson1 步骤2. Redisson的总结3. 几种分布式锁的区别 三、优化我们的秒杀1. 我们在创建优惠…

Docker安装笔记

1. Mac安装Docker 1.1 Docker安装包下载 1.1.1 阿里云 对于10.10.3以下的用户 推荐使用 对于10.10.3以上的用户 推荐使用 1.1.2 官网下载 系统和芯片选择适合自己的安装包 1.2 镜像加速 【推荐】阿里镜像 登陆后,左侧菜单选中镜像加速器就可以看到你的专属地…

windows和linux的等保加固测评的经验分享

一头等保加固测评的牛马,需要能做到一下午测评n个服务器 接下来就讲讲如何当一头xxxxxxxxx》严肃的等保测评加固的经验分享( 一、window等保 首先你要自己按着教程在虚拟机做过一遍(win2012和win2008都做过一遍,大概windows的…

pico+unity3d 射线交互教程

前期配置:环境配置参考教程一,手部模型参考教程二,场景基于上一篇搭建。 最终效果:手部射线(初始不可见)对准 UI 显示,按下手柄 Trigger 键与可交互 UI(如 Button、Toggle、Slider …

论文解读 | ICML2024:突破Transformer上下文学习中的瓶颈

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 作者简介 付靖文,西安交通大学博士生 简介 上下文学习,即从上下文示例中学习,是Transformer一项令人印象深刻的能力。然而,由于学习瓶颈的出现——在训练过程中模…

移动UI:任务中心的作用,该如何设计更合理?

任务中心是移动应用中用于展示和管理用户待办任务、提醒事项、用户福利、打卡签到等内容的功能模块。合理设计任务中心可以提升用户体验和工作效率。 以下是一些设计任务中心的合理建议: 1. 易于查看和管理: 任务中心的设计应该使用户能够快速、直观地…

C# 实现跨进程条件变量

C# 进程通信系列 第一章 共享内存 第二章 条件变量(本章) 第三章 消息队列 文章目录 C# 进程通信系列前言一、关键实现1、用到的主要对象2、初始化区分创建和打开3、变量放到共享内存4、等待和释放逻辑 二、完整代码三、使用示例1、同步控制2、跨进程控…

202496读书笔记|《飞花令·菊(中国文化·古典诗词品鉴)》——荷尽已无擎雨盖,菊残犹有傲霜枝

202496读书笔记|《飞花令菊(中国文化古典诗词品鉴)》——荷尽已无擎雨盖,菊残犹有傲霜枝 《飞花令菊(中国文化古典诗词品鉴)》素心落雪 编著。飞花令得名于唐代诗人韩翃《寒食》中的名句“春城无处不飞花”&#xff0c…

KubeSphere核心实战_kubesphere全功能安装_启用kubesphere的热插拔插件---分布式云原生部署架构搭建037

然后我们开始安装kubesphere,首先进入官网点击kubernetes安装 可以看到对应的,条件说kubernetes要在1.20.x以上,我们的是 1.20.9,然后cpu硬件满足,然后,默认存储类型,上一节我们安装好了 然后就可以开始,去下载两个配置文件可以看到上面的两个配置文件 这两个文件,上面是直接…

跨域问题:预检请求

解决跨域问题之预检请求 预检请求(Preflight Request)是跨域资源共享(CORS)中用于安全检查的一种机制。 它是由浏览器自动发起的一个OPTIONS请求,目的是在实际跨域请求之前,询问服务器是否允许这次跨域操…

学习TS -类型

let a:number10;//数值型 let b:string"zhaoya";//字符串型 let c:booleantrue;//布尔类型 let d:10;//字面量 let e:any10;//任意类型,可以给别人赋值,而且不会提示报错 let f:unknown50;//未知类型,他给别人赋值,赋值…

kafka开启kerberos和ACL

作者:恩慈 一、部署kafka-KB包 1.上传软件包 依次点击 部署中心----部署组件----上传软件包 选择需要升级的kafka版本并点击确定 2.部署kafka 依次点击部署中心----部署组件----物理/虚拟机部署----选择集群----下一步 选择手动部署-…

消费金融系统开发回忆录

架构设计图 整个支付链路上的功能 支付系统应该有:账户管理、渠道管理、支付管理、对账管理、清算管理、结算管理 一笔支付订单,在支付系统侧就是要记录清楚,谁发起的、对哪个商品进行支付、通过哪个渠道支付、支付时间、支付结果等…

C++基础入门(二)(函数重载,引用,内联函数,nullptr)

目录 一. 函数重载 1. 概念 2. 实现 (1). 参数类型不同 (2). 参数个数不同 (3). 参数类型顺序不同 3. 注意事项 (1). 返回值不能作为重载的条件 (2). 不能仅按函数返回类型重载 (3). 与缺省参数的问题 二. 引用 1. 概念和定义 2. 引用的特性 (1). 引用在定义时必须…

LDR6020双盲插便携显示器应用

随着USB Type-C接口的普及,越来越多的手机和笔记本电脑都支持通过C接口输出视频。这个小巧而精密的接口,大有把传统的HDMI和DisplayPort接口取而代之的架势。特别是usb4的推出,更是为USB TYPE-C接口一统有线接口形态奠定了基础。 单USB-C接口…

python入门课程Pro(1)--数据结构及判断

数据结构及判断 第1课 复杂的多向选择1.if-elif-else2.if嵌套3.练习题(1)大招来了(2)奇数还是偶数(3)简洁代码 第2课 数据与判断小结1.变量2.格式化输出3.逻辑运算-或与非4.判断条件5.练习题(1&…