数据库学习之select语句练习

目录

素材

练习

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

结果

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

结果

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

结果

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

结果

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

结果

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

结果

7、显示所有职工出生日期

结果

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

结果

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

结果 

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

结果 

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

结果 

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

结果

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

结果 

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

结果

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

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

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

结果 


素材

CREATE TABLE `worker` (`部门号` int(11) NOT NULL,`职工号` int(11) NOT NULL,/;ll/`工作时间` 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、显示所有职工的基本信息。   

select * from worker;

结果

 

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

select 部门号 from worker group by 部门号;

结果

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

 select count(职工号) from worker;

结果

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

最高工资

select 工资 from worker order by 工资 desc limit 1;

 最低工资

 select 工资 from worker order by 工资  limit 1;

结果

最高工资

最低工资

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

总工资

 select sum(工资) from worker;

平均工资

 select avg(工资) 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;
#插入数据
nsert into 工作日期表 (职工号,姓名,工作时间) select 职工号,姓名,工作时间 from worker;

结果

7、显示所有职工出生日期

select 姓名,出生日期 from worker;

结果

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

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

结果

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

select 职工号,姓名,工作时间 from worker where 出生日期 <='1960-01-01

结果 

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

select 姓名 from worker where 工资 between 1000 and 2000;

结果 

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

select 姓名 from worker where 姓名='刘%' or 姓名='陈%';

结果 

 

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

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

结果

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

select * from worker order by 出生日期;

结果 

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

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

结果

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

select count(职工号) as 党员人数 from worker where 政治面貌='党员';

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

查看有那几个部门

 select 部门号 from worker group by 部门号 having sum(工资);

 

101部门

总工资

​
select sum(工资) from worker where 部门号=101;

平均工资

select sum(工资) from worker where 部门号=101;

102部门

总工资

select sum(工资) from worker where 部门号=102;

平均工资

select avg(工资) from worker where 部门号=102;

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

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

结果 

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

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

相关文章

直流无刷电机控制(一)六步换相(有感霍尔)

直流无刷电机概述 直流无刷电机的转子为永磁铁&#xff0c;定子为换相线圈&#xff0c;有别于有刷电机通过电刷或者换向器换相&#xff0c;无刷电机通过控制器电子换相。 极对数 直流无刷电机采用永磁铁作为转子&#xff0c;一对NS磁极为一极对&#xff0c;为了使电机运转更…

写一个类ChatGPT应用,前后端数据交互有哪几种

❝ 对世界的态度&#xff0c;本质都是对自己的态度 ❞ 大家好&#xff0c;我是「柒八九」。一个「专注于前端开发技术/Rust及AI应用知识分享」的Coder 前言 最近&#xff0c;公司有一个AI项目&#xff0c;要做一个文档问答的AI产品。前端部分呢&#xff0c;还是「友好借鉴」Cha…

HarmonyOS NEXT 阅读翻页方式案例

介绍 本示例展示手机阅读时左右翻页&#xff0c;上下翻页&#xff0c;覆盖翻页的功能。 效果图预览 使用说明 进入模块即是左右翻页模式。点击屏幕中间区域弹出上下菜单。点击设置按钮&#xff0c;弹出翻页方式切换按钮&#xff0c;点击可切换翻页方式。左右翻页方式可点击翻…

Springboot3 链接Redis遇到的报错(本文仅记录保存,优质文章移步springboot专栏)

出现的报错&#xff1a; cannot connect to Redisedis.clients.jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password is setredis wrong number of arguments for ‘auth’ command 其实上面的三个报错是不同界面显示的&#xff0c;后面两个是通过Ide…

CentOS 安装 SeaweedFS

1. SeaweedFS 介绍 SeaweedFS 是一个简单且高度可扩展的分布式文件系统。有两个目标&#xff1a; to store billions of files! (存储数十亿个文件&#xff01;)to serve the files fast! (快速提供文件&#xff01;) Seaweedfs的中心节点&#xff08;center master&#xff09…

【Mac】如何解决打开PD虚拟机后Mac无法上网的问题?

问题描述 部分用户在运行Parallels Desktop并打开Windows 11后&#xff0c;发现Windows上网没有问题&#xff0c;但是Mac主机不能访问带域名的网站&#xff0c;而访问带IP的网站没问题&#xff0c;退出Parallels虚拟机以后&#xff0c;Mac网络又恢复正常。 解决办法 退出 Pa…

华为昇腾310B1平台视频解码失败[ERROR] Send frame to vdec failed, errorno:507018

目录 1 [ERROR] Send frame to vdec failed, errorno:507018 2 bug解决尝试1 3 bug解决尝试2 4 最终解决方法 参考文献&#xff1a; 1 [ERROR] Send frame to vdec failed, errorno:507018 某项目中的代码运行报错 [ERROR] Send frame to vdec failed, errorno:507018 Ac…

python数据可视化:层次聚类热图clustermap()

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 python数据可视化&#xff1a; 层次聚类热图 clustermap() [太阳]选择题 请问关于以下代码表述错误的选项是&#xff1f; import seaborn as sns import matplotlib.pyplot as plt import n…

Redis-集群方案

文章目录 Redis集群方案是用来做什么的&#xff1f;Redis集群方案有哪些&#xff1f;主从复制集群哨兵&#xff08;Sentinel&#xff09;集群Cluster分片集群第三方集群方案 更多相关内容可查看 Redis集群方案是用来做什么的&#xff1f; Redis集群方案是用来解决单节点Redis的…

学习MySQL(三):数据类型约束条件

数据类型 字符串&#xff1a;char(num) 与 varchar(num) 延申面试问题&#xff1a;char与varchar有什么区别&#xff1f; 区别1&#xff1a;定长与变长 char 固定长度&#xff0c;例如定义了char(8)&#xff0c;则这一列存储的内容长度都为8&#xff0c;不足8位则会用空格补…

回归预测 | Matlab实现DBO-ESN蜣螂算法优化回声状态网络多输入单输出回归预测

回归预测 | Matlab实现DBO-ESN蜣螂算法优化回声状态网络多输入单输出回归预测 目录 回归预测 | Matlab实现DBO-ESN蜣螂算法优化回声状态网络多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现DBO-ESN蜣螂算法优化回声状态网络多输入单输出…

【Python】理解WOE(Weight of Evidence)和IV(Information Value)

忠孝东路走九遍 脚底下踏著曾经你我的点点 我从日走到夜 心从灰跳到黑 我多想跳上车子离开伤心的台北 忠孝东路走九遍 穿过陌生人潮搜寻你的脸 有人走的匆忙 有人爱的甜美 谁会在意擦肩而过的心碎 &#x1f3b5; 动力火车《忠孝东路走九遍》 在信用评分和…