Oracle SELECT查询实战:经典题目与解答
需积分: 4 70 浏览量
更新于2024-09-12
收藏 10KB TXT 举报
"Oracle SELECT查询练习"
在Oracle数据库中,SELECT语句是用于从表中检索数据的关键命令。以下是一些关于SELECT查询的经典练习题目及其解答:
1. 查询部门编号为20的所有员工信息:
使用WHERE子句指定条件`deptno=20`来过滤出属于部门20的员工记录。
2. 查询佣金大于薪水的员工信息:
这个查询使用`comm>sal`作为条件,找出佣金大于其薪水的员工。
3. 查询佣金超过薪水的20%的员工信息:
通过`comm>sal*0.2`,我们可以找到那些佣金超过他们薪水20%的员工。
4. 查询部门10中的经理(MANAGER)或部门20中的职员(CLERK):
使用OR逻辑运算符连接两个条件 `(deptno=10 and job='MANAGER')` 和 `(deptno=20 and job='CLERK')`,可以找出特定职位的员工。
5. 查询非经理(MANAGER)和非职员(CLERK),且薪水大于等于2000的员工:
`NOT IN`操作符用于排除特定职位,并且`AND`连接的`sal>=2000`确保了薪水的限制。
6. 查询有佣金的员工信息:
使用`IS NOT NULL`检查`comm`字段不为空,从而筛选出有佣金的员工。
7. 计算员工的总薪酬(包括基本工资和佣金):
`NVL`函数用于处理可能为NULL的佣金字段,将NULL值替换为0,然后加到`sal`上计算总薪酬。
8. 查询没有佣金或佣金小于100的员工信息:
`OR`逻辑运算符结合`IS NULL`和`<100`,找到无佣金或佣金不足100的员工。
9. 查询工作满10年的员工信息:
`(sysdate-hiredate)/365>=10`计算工作年数,当大于等于10时,表示该员工已工作满10年。
10. 将员工名字首字母大写,其余小写:
`INITCAP`函数用于将每个单词的首字母转换为大写,而`UPPER`和`LOWER`则分别用于将字符串的首字符转换为大写,其余字符转换为小写。
11. 按年份和月份排序显示员工姓名、入职日期:
使用`TO_CHAR`函数格式化`hiredate`为年('yyyy')和月('MM'),然后根据年份和月份进行排序。
12. 查询二月份入职的员工信息:
使用`TO_CHAR(hiredate, 'MM')='02'`来匹配所有在2月份入职的员工。
13. 显示员工姓名和入职日期距离当前的天数,以年、月、日的形式展示:
使用`FLOOR`和`MOD`函数计算出距离当前的年、月、日数,然后拼接成字符串显示。
这些练习涵盖了基础的查询技巧,如条件过滤、逻辑运算、函数应用以及日期操作,对理解Oracle SQL的使用非常有帮助。通过这些练习,你可以熟练掌握如何从数据库中提取所需信息。
2013-11-12 上传
403 浏览量
2013-03-07 上传
2017-09-21 上传
2021-12-30 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-10-13 上传
BEYONDANY
- 粉丝: 0
- 资源: 2
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章