SCOTT用户下Oracle查询练习:员工信息与部门分析
需积分: 10 96 浏览量
更新于2024-09-17
收藏 41KB DOC 举报
Oracle基本语法练习涵盖了多个SQL查询场景,旨在帮助学习者熟悉Oracle数据库操作。以下是一些关键知识点的详细解释:
1. **月份倒数第3天的员工**: 这个查询可能使用`DATE_TRUNC('MONTH', DATEADD('MONTH', -3, SYSDATE))`来计算当前月的倒数第三天,然后筛选出在这个日期那天受雇的员工。
2. **早于12年前受雇的员工**: 使用`EXTRACT(YEAR FROM SYSDATE - HIRE_DATE)`来计算服务年限,筛选出超过12年的员工。
3. **姓名首字母大写**: `UPPER(ENAME)`会返回员工姓名的大写版本。
4. **5个字符的员工姓名**: `LENGTH(ENAME) = 5`用于查找姓名长度为5的员工。
5. **不带“R”的员工姓名**: `ENAME NOT LIKE '%R%'`排除名字中含有字母“R”的员工。
6. **员工姓名前三个字符**: `SUBSTR(ENAME, 1, 3)`显示姓名的前三个字符。
7. **'A'替换为'a'**: `REPLACE(ENAME, 'A', 'a')`会将所有的'A'替换为'a'。
8. **满10年服务年限的员工**: `EXTRACT(YEAR FROM SYSDATE - HIRE_DATE) >= 10`筛选服务期满10年的员工。
9. **按姓名排序的员工详细资料**: `ORDER BY ENAME`确保员工信息按姓名升序排列。
10. **排序规则(服务年限、姓名)**: 可能涉及复杂的`CASE`语句或自连接查询,先按服务年限降序,服务年限相同再按姓名升序。
11. **按工作和薪金排序**: `ORDER BY WORKDEPT DESC, SALARY`,首先降序按工作部门,部门相同再按薪金排序。
12. **按受雇日期排序**: 可能使用`MONTHS_BETWEEN`和`MIN`函数来实现最早的入职日期在前。
13. **日薪金处理**: 假设工资已考虑过每月30天,可能直接除以30得到日薪。
14. **2月受聘员工**: `EXTRACT(MONTH FROM HIRE_DATE) = 2`筛选出2月入职的员工。
15. **员工加入公司天数**: 计算`SYSDATE - HIRE_DATE`得出。
16. **姓名包含"A"的位置**: `LIKE '%A%'`检查姓名中是否包含"A"。
17. **服务年限以年月日形式显示**: `TO_CHAR(SYSDATE - HIRE_DATE, 'YYYY-MM-DD')`转换服务年限至特定格式。
18. **查询部门及员工信息**: 通过部门关系(如JOIN)获取员工及其上级的信息,并进行排序。
19. **特定职位的员工列表**: 如`WHERE WORK = 'CLERK'`,或者通过部门编号找到"SALES"部员工。
20. **薪金比较**: 比较某员工(如SMITH)的薪金和其他员工的薪金。
21. **薪资高于平均值的员工**: 需计算整个部门或公司的平均薪金,然后筛选。
22. **与特定员工同工种的员工**: `WHERE WORK = (SELECT WORK FROM emp WHERE EMPNO = 'SCOTT')`。
23. **部门30薪金匹配**: 筛选薪金等于部门30平均薪金的员工。
24. **薪金高于部门30的员工**: 类似地,查找薪金高于部门平均值的员工信息。
25. **部门统计信息**: 计算每个部门的员工数量、平均工资和服务年限。
26. **员工姓名、部门和工资**: 获取基本信息的组合,可能涉及分组和聚合函数。
27. **部门详细信息和人数**: 分析部门结构,包括空闲部门。
28. **最低工资查询**: 找到每个工作的最低工资。
29. **部门经理最低薪金**: 可能使用嵌套查询或连接其他表来找出最低工资的经理。
30. **按年薪排序的员工工资**: `ORDER BY (SALARY * 12)`,将年薪作为排序依据。
这些练习涵盖了Oracle SQL的基础和进阶操作,通过实践这些查询,学习者可以熟练掌握数据库查询语句和数据处理技巧。
2010-05-13 上传
2009-09-27 上传
2014-06-20 上传
2018-02-23 上传
2009-09-17 上传
2019-02-19 上传
2009-04-16 上传
Cecilia_ni
- 粉丝: 1
- 资源: 1
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常