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

7-2-查询练习

题目

1)显示员工姓名,根据其服务年限,将最老的员工排在最前面。

select * from emp order by hiredate asc;

说明:服务年限越大,则入职时间越早

在这里插入图片描述

或者:计算年限,进行排序

select * from emp order by TIMESTAMPDIFF(YEAR,CURRENT_TIME,hiredate)

TIMESTAMPDIFF(单位,开始时间,结束时间)

单位参数:YEAR(年)、MONTH(月)、DAY(日)、HOUR(时)、MINUTE(分)、SECOND(秒)

在这里插入图片描述

2)列出按年薪排序的所有员工的年薪,不包含奖金。

select ename,sal*12 年薪 from emp order by 2;
-- 或
select ename,sal*12 年薪 from emp order by 年薪;

在这里插入图片描述

3)列出按年薪排序的所有员工的年薪,包含奖金。

select ename,sal*12+IFNULL(comm,0) 年薪 from emp order by 年薪;

在这里插入图片描述

4)列出最低薪水大于1500的各种工作。

select job,min(sal) minSal from emp group by job having min(sal)>1500;

在这里插入图片描述

5)显示所有员工的姓名和加入公司的年份和月份,将员工入职年月从低到高排序。

select ename,year(hiredate) y,month(hiredate) m
from emp 
order by y,m

在这里插入图片描述

6)显示在一个月为30天的情况下所有员工的日薪水,取整。

select ename, sal/30,TRUNCATE(sal/30,0) TRUN,ROUND(sal/30) r from emp;

在这里插入图片描述

7)找出在(任何年份的)2月受聘的所有员工。

select * from emp where month(hiredate)=2;

在这里插入图片描述

8)对于每个员工,显示其加入公司的天数。

select hiredate, TIMESTAMPDIFF(day,hiredate,CURRENT_DATE),DATEDIFF(CURRENT_DATE,hiredate) from emp;

在这里插入图片描述

9)列出薪水比“SMITH”多的所有员工。

select * from emp where sal>(select sal from emp where ename='smith')

在这里插入图片描述

或者

select e.*
from emp  e, (select sal from emp where ename='smith') b
where e.sal>b.sal

在这里插入图片描述

10)列出所有员工的姓名及其直接上级的姓名。

select e.ename 员工,m.ename 上级
from emp e left join emp m on e.mgr=m.empno

在这里插入图片描述

11)列出受雇日期早于其直接上级的所有员工。

select e.ename 员工,e.hiredate 员工入职,m.ename 上级,m.hiredate 上级入职
from emp e inner join emp m on e.mgr=m.empno
where e.hiredate<m.hiredate;

在这里插入图片描述

12)列出部门名称和这些部门的员工信息,同时列出没有员工的部门。

select d.dname,e.ename
from dept d left join emp e on d.deptno=e.deptno;

在这里插入图片描述

13)列出所有“CLERK”(办事员)的姓名及其部门名称。

select d.dname,e.ename
from dept d inner join emp e on d.deptno=e.deptno
where job='CLERK'

在这里插入图片描述

14)列出在部门“SALES”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。

select d.dname,e.ename
from dept d inner join emp e on d.deptno=e.deptno
where d.dname='SALES'

在这里插入图片描述

或者使用子查询,只能显示员工姓名

select ename
from emp 
where deptno=(select deptno from dept where dname='SALES')

15)列出薪水高于公司平均薪水的所有员工。

select * from emp where sal>(select avg(sal) from emp)

在这里插入图片描述

http://www.dtcms.com/a/443729.html

相关文章:

  • [光学原理与应用-485]:《皮秒紫外激光光源接口协议标准》草案
  • 长春市做网站的公司专业房产网站建设公司排名
  • 建设行业信息和技术应用服务网站企业网站优化应该怎么做
  • 找人做的网站怎么运行崇明苏州网站建设
  • POI操作Docx的踩坑指南(一)
  • 建网站免费域名做网站如何适应分辨率
  • 公司网站推广方法DZ做的网站
  • 做地方门户网站的排名佛山知名网站建设公司
  • 深入浅出kafka:kafka演进以及核心功能介绍
  • 360网站安全检测网站维护服务合同
  • 某公司网站源码体验营销案例
  • 怎样在外国网站开发客户昆明网站建设网站建设
  • 请人做网站后台密码公共信息服务平台
  • 网站开发都是用什么做的网站排名推广的优点是什么
  • 软件网站模板个人主页网页设计模板免费
  • godaddy如何创建网站百度搜图片功能
  • 企业做网站天津网站设计与建设实验报告
  • C4D R20新增功能体积对象之雾类型深度解析与应用实践
  • 最长连续序列 Java
  • 做遗嘱的网站有哪些专门找人做软件的网站
  • 电商网站建设系统北京建筑设计公司排行榜
  • 如何制作动漫网站模板下载地址网站怎么做图片动态图片不显示不出来的
  • 网站体验分享cpu占用超出网站空间的分配值
  • 湛江网站建设运营方案极简WordPress个人博客主题
  • 网站开发结论好用的浏览器
  • 可视化网站开发平台如何编写一个网页
  • 电商网站建设网dedecms+wordpress
  • 网站的运营模式爬闪数媒 网站建设
  • 543. 二叉树的直径
  • 服装购物网站排名365建设网站