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

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)求出各部门党员的人数

#(13)求出各部门党员的人数
mysql> select department_id ,count(name) from t_worker  where politics ='党员' group by department_id;
+---------------+-------------+
| department_id | count(name) |
+---------------+-------------+
|           102 |           2 |
|           103 |           1 |
+---------------+-------------+
2 rows in set (0.00 sec)

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

#(14)统计各部门的工资和平均工资并保留2位小数
mysql> select  department_id,sum(wages) as '部门工资',cast(avg(wages) as decimal(10,2)) '平均工资' from t_worker group by department_id;
+---------------+--------------+--------------+
| department_id | 部门工资     | 平均工资     |
+---------------+--------------+--------------+
|           101 |     12700.00 |      6350.00 |
|           102 |     24800.00 |      8266.67 |
|           103 |      5500.00 |      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)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 计算机组成原理面试知识点总结1
  • git使用以及理解
  • CSPVD 智慧工地安全帽安全背心检测开发包
  • 代码随想录学习 day54 图论 Bellman_ford 队列优化算法(又名SPFA) 学习
  • WebKit 引擎:CSS 悬停效果的魔法师
  • “论系统安全架构设计及其应用”,写作框架,软考高级论文,系统架构设计师论文
  • Grafana :利用Explore方式实现多条件查询
  • python基础语法 007 文件操作-2文件支持模式文件的内置函数
  • 数据库基础与安装MYSQL数据库
  • 解决云服务器CPU占用率接近100%问题
  • 二叉树基础及实现(一)
  • Java 写一个可以持续发送消息的socket服务端
  • c++初阶篇(三):内联函数及auto关键字
  • 代理模式详解
  • 畅玩游戏新选择 :游戏本 Windows10 64位 专业版!
  • 【技术性】Search知识
  • avalon2.2的VM生成过程
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • php ci框架整合银盛支付
  • SOFAMosn配置模型
  • SQL 难点解决:记录的引用
  • STAR法则
  • 大主子表关联的性能优化方法
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 什么软件可以剪辑音乐?
  • 微信小程序实战练习(仿五洲到家微信版)
  • 学习ES6 变量的解构赋值
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 如何正确理解,内页权重高于首页?
  • #includecmath
  • #pragma once
  • #控制台大学课堂点名问题_课堂随机点名
  • (27)4.8 习题课
  • (办公)springboot配置aop处理请求.
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (十三)Flink SQL
  • (一)插入排序
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • @Transactional类内部访问失效原因详解
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [8481302]博弈论 斯坦福game theory stanford week 1
  • [Algorithm][动态规划][简单多状态DP问题][按摩师][打家劫舍Ⅱ][删除并获得点数][粉刷房子]详细讲解
  • [Angularjs]asp.net mvc+angularjs+web api单页应用
  • [Big Data - Kafka] kafka学习笔记:知识点整理
  • [BZOJ 3531][Sdoi2014]旅行(树链剖分+线段树)
  • [C++]: std::move
  • [CocosCreator]Android的增加AndroidX的动态权限
  • [CSS]文字旁边的竖线以及布局知识
  • [CSS]中子元素在父元素中居中
  • [Doris]阿里云搭建Doris,测试环境1FE 1BE
  • [HeadFrist-HTMLCSS学习笔记][第一章Web语言:开始了解HTML]