oracle经典习题(一)

本文提供了一系列Oracle SQL实战练习题目及示例代码,包括查询特定条件的员工信息、部门统计等,适合初学者实践掌握SQL查询技巧。

oracle经典习题(一)

1.显示与BLAKE在同一部门工作的雇员的姓名、工作和入职日期,但是BLAKE不包含在内

1.1 示例sql语句

SELECT ename,job,hiredate
FROM emp
WHERE deptno=(SELECT deptno FROM emp WHERE ename='BLAKE')
AND ename <> 'BLAKE'

1.2 运行截图

在这里插入图片描述

2.显示位置在DALLAS的部门内的雇员姓名以及工作

2.1 示例sql语句

SELECT ename,job
FROM emp
WHERE deptno=(SELECT deptno FROM dept WHERE loc='DALLAS')

2.2 运行截图

在这里插入图片描述

3 显示被King直接管理的雇员的姓名以及工资

3.1 示例sql语句

SELECT ename,sal
FROM emp
WHERE mgr=(SELECT empno FROM emp WHERE ename='KING')

3.2 运行截图

在这里插入图片描述

4 显示工资不在1500到2850美元之间的雇员的姓名及工资

4.1 示例sql语句

SELECT ename,sal
FROM emp
WHERE sal NOT BETWEEN 1500 AND 2850

4.2 运行截图

在这里插入图片描述

5 显示姓名中第三个字母为A的雇员的姓名

5.1 示例sql语句

SELECT ename
FROM emp
WHERE ename like '__A%'

5.2 运行截图

在这里插入图片描述

6 显示所有受雇于1982年的雇员的姓名和受雇时间

6.1 示例sql语句

SELECT ename
FROM emp
WHERE substr(to_char(hiredate,'yyyy-mm-dd'),1,4)='1982'

6.2 运行截图

在这里插入图片描述

7 查询工资高于本部门平均工资的员工

7.1 示例sql语句

SELECT e1.ename,e1.deptno,e1.sal,e2.a_sal
FROM emp e1
INNER JOIN 
(SELECT deptno,AVG(sal) a_sal
FROM emp
GROUP BY deptno)e2
ON e1.deptno=e2.deptno
WHERE e1.sal>e2.a_sal;

7.2 运行截图

在这里插入图片描述

8 显示正好为5个字符的员工的姓名

8.1 示例sql语句

SELECT ename
FROM emp
WHERE length(ename)=5;

8.2 运行截图

在这里插入图片描述

9 显示所有员工姓名的前三个字符

9.1 示例sql语句

SELECT substr(ename,1,3)
FROM emp

9.2 运行截图

在这里插入图片描述

10 显示所有部门的人数(没人的显示0)

10.1 示例sql语句

SELECT d.deptno,decode(count(d.deptno),1,0,count(d.deptno))
FROM dept d
LEFT JOIN emp e
ON d.deptno=e.deptno
GROUP BY d.deptno

10.2 运行截图

在这里插入图片描述

11 查询所有员工的姓名及其直接上级的姓名

11.1 示例sql语句

SELECT e1.ename "员工姓名",e2.ename "上级领导姓名"
FROM emp e1
LEFT JOIN emp e2
ON e1.mgr=e2.empno

11.2 运行截图

在这里插入图片描述

12 查询入职日期比直接上级早的所有员工(比领导先入职的)

12.1 示例sql语句

SELECT e1.ename "员工姓名",e1.hiredate "员工入职日期",e2.ename "领导姓名",e2.hiredate "领导入职日期"
FROM emp e1
INNER JOIN emp e2
ON e1.mgr=e2.empno
WHERE e1.hiredate<e2.hiredate

12.2 运行截图

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SSS4362

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值