Oracle scott模式下emp与dept表操作示例:查询与数据分析
在Oracle数据库的scott模式下,我们利用了两个核心表:emp(员工信息表)和dept(部门信息表),进行了一系列与员工数据相关的查询操作。这些查询涉及到的数据筛选、比较、逻辑运算以及数据格式化等多方面的技能。 1. 首先,查询20号部门的所有员工信息: 这个SQL语句通过`deptno = 20`来筛选出20号部门的所有记录,显示全部员工的详细信息。 2. 接下来,我们查找所有工种为CLERK的员工,包括他们的工号(empno)、员工名(ename)和所属部门的名称(deptno): 这个查询使用`LIKE`关键字匹配特定的工种,仅返回符合条件的员工信息。 3. 查询奖金(COMM)高于工资(SAL)的员工: 此处是筛选出工资以外收入较高的员工,使用比较运算符`>`判断COMM字段是否大于SAL字段。 4. 查询奖金高于工资20%的员工: 使用乘法运算符`*`计算工资的20%并进行比较,筛选出奖金比例达到20%以上的员工。 5. 求得10号部门中职务为MANAGER和20号部门中职务为CLERK的员工信息: 通过逻辑运算符`OR`连接两个子查询,分别针对不同的部门条件进行查询。 6. 找出所有非MANAGER和CLERK的工种,且工资大于或等于2000的员工详情: 使用`NOT IN`和`AND`操作符组合,确保同时满足这两个条件。 7. 查询有奖金的员工的不同工种,使用`DISTINCT`关键字去重: 这里只返回不重复的工种,即每个工种只出现一次。 8. 计算所有员工的工资和奖金总和: 使用`NVL`函数处理可能存在的NULL值,将comm字段转换为数值后与sal字段相加。 9. 查找没有奖金或奖金低于100的员工信息: 通过`IS NULL`和`<`运算符,筛选出奖金为NULL或者小于100的员工。 10. 获取每月倒数第二天入职的员工记录: 由于Oracle的IN()函数不支持自定义范围,这里可能需要使用PL/SQL的循环或者外部日期函数来实现。 11. 查询员工工龄大于或等于10年的员工: 通过当前日期`sysdate`减去入职日期`hiredate`,然后除以365天,判断工龄是否满足条件。 12. 以首字母大写显示员工姓名: 使用`SUBSTR`函数提取首字母,然后与其余小写部分拼接,实现姓名格式的调整。 13. 查询员工名恰好为6个字符的员工信息: 使用`LENGTH`函数检查员工名长度,只有长度为6的记录才会被选择。 以上就是根据Oracle数据库scott模式下的emp表和dept表完成的一系列查询操作,涵盖了基本的数据筛选、条件判断、数据处理和格式化等数据库操作技巧。
下载后可阅读完整内容,剩余3页未读,立即下载
- 粉丝: 9
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦