Oracle练习题解析与案例实战
需积分: 3 124 浏览量
更新于2024-08-01
收藏 145KB DOC 举报
Oracle练习题集涵盖了Oracle数据库的基础操作和查询技巧,适合学习者进行实战练习。以下是几道题目及其解答和知识点的详细解析:
1. 连接数据库错误:
当出现`Oraclenotavailable`错误时,可能是因为Oracle服务器未启动或ORACLE_SID设置不正确。确保检查服务器状态(通过`lsnrctl`命令行工具或者服务管理器)和正确的数据库实例标识符(SID)是否已配置在客户端环境变量中。
2. 查找特定姓氏特征的员工:
通过`LIKE`运算符的通配符`%`,可以筛选出姓氏中第三个字母为'a'的员工,如:
```sql
SELECT last_name FROM s_emp WHERE last_name LIKE '__a%'
```
`%`表示任意字符序列,两个`__`用于指定第三个字母的位置。
3. 姓名中包含'a'和'e'的员工:
使用`AND`逻辑运算符组合两个`LIKE`条件:
```sql
SELECT first_name FROM s_emp WHERE first_name LIKE '%a%' AND first_name LIKE '%e%'
```
这将返回同时包含'a'和'e'的员工名字。
4. 提取有提成的员工信息:
查询包括名字、工资和提成,按工资降序,提成升序排列:
```sql
SELECT first_name, salary, commission_pct FROM s_emp WHERE commission_pct IS NOT NULL ORDER BY salary DESC, commission_pct ASC
```
这展示了有提成且提成不为NULL的员工,工资由高到低,提成由小到大。
5. 查询特定部门的职位:
例如查询部门ID为42的所有职位:
```sql
SELECT DISTINCT title FROM s_emp WHERE dept_id = 42
```
这将返回42部门的所有不同职位。
6. 除Sales部门外的其他部门:
通过排除操作查询非Sales部门的部门信息:
```sql
SELECT id, name, region_id FROM s_dept WHERE name <> 'Sales'
```
显示所有不叫'Sales'的部门的ID、名称和区域ID。
7. 筛选工资范围之外的员工:
按工资降序显示工资不在1000到1550之间的员工信息:
```sql
SELECT first_name, salary FROM s_emp WHERE salary NOT BETWEEN 1000 AND 1550 ORDER BY salary DESC
```
8. 特定职位和年薪范围内的员工:
查询StockClerk和Sales Representative职位,且年薪在14400至17400之间的员工数据:
```sql
SELECT first_name, title, salary * 12 AS ann_sal FROM s_emp WHERE title IN ('StockClerk', 'SalesRepresentative') AND salary BETWEEN 1200 AND 1450
```
结果包括姓名、职位和年薪。
9. 空值查询与选择:
`SELECT id, commission_pct FROM s_emp WHERE commission_pct IS NULL`:此查询返回commission_pct字段值为NULL的员工的ID。相反,`SELECT * FROM s_emp WHERE commission_pct IS NOT NULL`则会筛选出有提成的员工。
这些题目涵盖了Oracle SQL的基础操作,包括连接数据库、数据过滤、排序以及对NULL值的处理,有助于巩固SQL查询理解和实践。通过解决这些问题,学习者能够更好地掌握Oracle数据库的基本操作。
2009-11-25 上传
2008-12-08 上传
2012-07-27 上传
2009-08-06 上传
2011-05-04 上传
fengyisunchao
- 粉丝: 0
- 资源: 4
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建