基于emp的 单表查询 练习题及答案,大厂前端研发岗面试复盘

  • 找出部门10中所有经理和部门20中的所有办事员的详细资料

SELECT *

FROM tb_emp

WHERE (deptno =10 and job = ‘manager’) OR (deptno =20 and job = ‘clerk’)

  • 找出部门10中所有经理、部门20中所有办事员,既不是经理又不是办事员但其薪金>=2000的所有雇员的详细资料

SELECT *

FROM tb_emp

WHERE (deptno =10 and job = ‘manager’) OR

(deptno =20 and job = ‘clerk’) OR

(job != ‘manager’ and job != ‘clerk’ and sal>2000)

  • 找出收取佣金的雇员的不同工作

SELECT DISTINCT job

FROM tb_emp

WHERE comm !=0

  • 找出不收取佣金或收取的佣金低于100的雇员

select *

from tb_emp

where comm = null or comm=0 or comm<100;

  • 找出各月倒数第三天受雇的所有雇员

SELECT ename ,hiredate

FROM tb_emp

WHERE day(hiredate) = day(LAST_DAY(hiredate))-2

  • 找出早于25年之前受雇的雇员

SELECT *

FROM tb_emp

WHERE YEAR(hiredate) < YEAR(NOW())-25

  • 显示正好为6个字符的雇员姓名length

SELECT *

FROM tb_emp

WHERE LENGTH(ename) = 6;

  • 显示不带有’R’的雇员姓名not like

SELECT ename

FROM tb_emp

WHERE ename not like ‘%R%’

  • 把首字母名字变小

SELECT concat(LOWER(substring(ename,1,1)),SUBSTRING(ename,2,LENGTH(ename)-1))

FROM tb_emp

  • 显示所有雇员的姓名的前三个字符substr

SELECT SUBSTRING(ename,1,3)

FROM tb_emp

  • 显示所有雇员的姓名,用*替换所有’A’ replace

SELECT REPLACE(ename,‘A’,‘*’)

FROM tb_emp

  • 显示雇员的详细资料,按姓名排序

select *

from tb_emp

order by ename

  • 显示雇员姓名,根据其服务年限,将最老的雇员排在最前面

select ename

from tb_emp

order by hiredate asc

  • 显示所有雇员的姓名、工作和薪金,按工作的降序顺序排序,而工作相同时按薪金升序

select ename,job,sal

from tb_emp

order by job desc,sal asc

  • 显示所有雇员的姓名和加入公司的年份和月份,按雇员受雇日所在月降序排序,将最早年份的员工排在最前面ASC

select ename,hiredate

FROM tb_emp

ORDER BY YEAR(hiredate) asc, MONTH(hiredate) DESC

  • 显示在一个月为30天的情况下所有雇员的日薪金

select sal/30

from tb_emp

  • 找出在(任何年份的)2月受聘的所有雇员

select *

from tb_emp

where month(hiredate) = 2

  • 对于每个雇员,显示其加入公司的天数

SELECT DATEDIFF(NOW(),hiredate)

FROM tb_emp

  • 显示姓名字段的任何位置,包含 “A” 的所有雇员的姓名

select ename

from tb_emp

where ename like ‘%A%’

  • 以年、月和日显示所有雇员的服务年限

SELECT YEAR(NOW()) - YEAR(hiredate) 年, (YEAR(NOW()) - YEAR(hiredate)-2)*12 + MONTH(NOW()) +(12-MONTH(hiredate))月, DATEDIFF(NOW(),hiredate)天

FROM tb_emp;

  • 显示所有雇员的姓名以及满10年服务年限的日期

SELECT hiredate , DATE_ADD(hiredate,INTERVAL 10 YEAR)

FROM tb_emp

  • 列出最低薪金大于1500的各种工作。

SELECT DISTINCT job

from tb_emp

where sal >1500

  • 列出在每个部门工作的员工数量、平均工资和平均服务期限。

SELECT deptno,avg(sal),COUNT(*),avg(year(NOW())- YEAR(hiredate))

FROM tb_emp

group by deptno

  • 列出各种工作的最低工资。

SELECT job, MIN(sal)

FROM tb_emp

GROUP BY job

  • 列出各个部门的MANAGER(经理)的最低薪金。

SELECT deptno,job, MIN(sal)

FROM tb_emp

WHERE job = ‘manager’

GROUP BY deptno

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

SELECT sal*12 gz

FROM tb_emp

ORDER BY gz ASC

嵌套查询


  • 列出薪金比“SMITH”多的所有员工。

SELECT *

from tb_emp

where sal> (SELECT sal

FROM tb_emp

where ename= ‘smith’)

  • 列出薪金高于公司平均薪金的所有员工。

SELECT *

from tb_emp

WHERE sal>(SELECT avg(sal)

FROM tb_emp)

  • 列出与“SCOTT”从事相同工作的所有员工。

SELECT *

from tb_emp

WHERE job = (SELECT job

from tb_emp

where ename = ‘scott’)

  • 求出30部门工资的最大值与最小值,然后列出其它部门工资在这个范围的员工的信息

SELECT ename,sal,deptno

from tb_emp

WHERE sal BETWEEN (SELECT min(sal)

FROM tb_emp

WHERE deptno =30) and (SELECT max(sal)

FROM tb_emp

WHERE deptno =30) and deptno != 30

  • 列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金。

SELECT ename,sal,deptno

from tb_emp

where sal> (SELECT max(sal)

FROM tb_emp

WHERE deptno =30) and deptno !=30

多表查询/连接查询/关联查询


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

SELECT e1.ename,e1.hiredate , e2.hiredate

FROM tb_emp e1

JOIN tb_emp e2 ON e1.mgr = e2.empno

where e1.hiredate < e2.hiredate

  • 列出部门名称和这些部门的员工信息。

SELECT tb_dept.dname, tb_emp.*

FROM tb_emp

JOIN tb_dept ON tb_dept.deptno = tb_emp.deptno – 连接条件

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

SELECT tb_emp.ename,tb_dept.dname

FROM tb_emp

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

连接条件

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

SELECT tb_emp.ename,tb_dept.dname

FROM tb_emp

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-HffxXvAy-1710922506043)]
[外链图片转存中…(img-4WZOiDOQ-1710922506044)]
[外链图片转存中…(img-oim78EYY-1710922506044)]
[外链图片转存中…(img-Ay4ozaWY-1710922506045)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
[外链图片转存中…(img-iOmDozTy-1710922506045)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值