前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL经典练习题+解题思路(四)

MySQL经典练习题+解题思路(四)

作者头像
啵啵鱼
发布2022-11-23 19:02:04
3390
发布2022-11-23 19:02:04
举报
文章被收录于专栏:Java一条龙学习笔记系列

CSDN话题挑战赛第2期

参赛话题:学习笔记

个人主页BoBooY的CSDN博客_Java领域博主 前言:在上一期中我们讲解了MySQL的入门知识点,但理论总还是要通过实践来印证,学了再多不练也是白费,这一期我们讲解MySQL的一些经典查询例题帮助大家巩固已学知识点,如在做题过程中有知识点的遗忘,可以参考往期文章: MySQL入门知识点(上):https://blog.csdn.net/qq_58233406/article/details/127143537 MySQL入门知识点(下):https://blog.csdn.net/qq_58233406/article/details/127144532 文章目录

MySQL练习题(四)

26、列出在每个部门工作的员工数量, 平均工资和平均服务期限(*)

代码语言:javascript
复制
select 
	d.deptno,count(e.ename) ,avg(e.sal),avg(timestampdiff(YEAR,e.hiredate,now()))
from 
	emp e
right join
	dept d
on 
	e.deptno = d.deptno
group by
	d.deptno;

27、 列出所有员工的姓名、部门名称和工资。

代码语言:javascript
复制
select 
	e.ename,d.dname,e.sal
from 
	emp e
join 
	dept d
on
	e.deptno = d.deptno;

28、列出所有部门的详细信息和人数

代码语言:javascript
复制
select 
	*,count(ename)
from
	emp e
right join
	dept d
on
	e.deptno = d.deptno
group by
	d.deptno;

29、列出各种工作的最低工资及从事此工作的雇员姓名

(1)查找最低工资的工作

代码语言:javascript
复制
select 
	job,min(sal)
from 
	emp
group by
	job;

(2)将emp表与这个表进行外连接

代码语言:javascript
复制
select 
	e.ename,e.job,e.sal
from
	emp e
join(
	select 
		job,min(sal) minsal
	from 
		emp
	group by
		job
	) t
on
	e.job = t.job and e.sal = t.minsal;

30、列出各个部门的 MANAGER( 领导) 的最低薪金

代码语言:javascript
复制
select
	deptno,min(sal)
from
	emp
where
	job = 'MANAGER'
group by
	deptno;

31、列出所有员工的 年工资, 按 年薪从低到高排序

代码语言:javascript
复制
select 
	ename,(sal  + ifnull(comm,0))* 12 yearsal
from
	emp
order by
	yearsal;

32、求出员工领导的薪水超过3000的员工名称与领导

(1)求出员工领导的薪水超过3000的

代码语言:javascript
复制
select 
	a.ename '员工',a.sal '员工薪水',b.ename '领导',b.sal '领导工资'
from	
	emp a
join 
	emp b
on
	a.mgr = b.empno
where
	b.sal > 3000;

33、求出部门名称中, 带’S’字符的部门员工的工资合计、部门人数(*)

代码语言:javascript
复制
select 
	d.deptno,sum(ifnull(sal,0)) '工资合计',count(ename) '部门人数'
from
	emp e
right join
	dept d
on
	e.deptno = d.deptno
where
	d.dname like '%S%'
group by
	e.deptno;

34、给任职日期超过 30 年的员工加薪 10%.

代码语言:javascript
复制
select 
	ename,timestampdiff(YEAR,hiredate,now()) '任职日期'
from
	emp
where
	timestampdiff(YEAR,hiredate,now()) > 30;
代码语言:javascript
复制
create table emp2 as select * from emp;
代码语言:javascript
复制
update 
	emp2 
set 
	sal = sal*1.1 
where 
	timestampdiff(YEAR,hiredate,now()) > 30;

练习题集:

MySQL经典练习题+解题思路(一):https://blog.csdn.net/qq_58233406/article/details/127150051

MySQL经典练习题+解题思路(二):https://blog.csdn.net/qq_58233406/article/details/127162943

MySQL经典练习题+解题思路(三):https://blog.csdn.net/qq_58233406/article/details/127165622

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MySQL练习题(四)
    • 26、列出在每个部门工作的员工数量, 平均工资和平均服务期限(*)
      • 27、 列出所有员工的姓名、部门名称和工资。
        • 28、列出所有部门的详细信息和人数
          • 29、列出各种工作的最低工资及从事此工作的雇员姓名
            • 30、列出各个部门的 MANAGER( 领导) 的最低薪金
              • 31、列出所有员工的 年工资, 按 年薪从低到高排序
                • 32、求出员工领导的薪水超过3000的员工名称与领导
                  • 33、求出部门名称中, 带’S’字符的部门员工的工资合计、部门人数(*)
                    • 34、给任职日期超过 30 年的员工加薪 10%.
                    相关产品与服务
                    云数据库 SQL Server
                    腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档