Oracle数据库面试是IT行业求职者关注的重点,特别是对于初级应聘者和实习生来说,了解常见的面试问题有助于提升技能和应对面试。以下是一些初级Oracle SQL面试题及其解答,涵盖了基本SQL查询、运算符与函数、子查询、连接查询等核心知识点。
**模块一:SQL(DQL)**
1. **基本SQL查询与优点与缺点**
- `SELECT *` 查询全部列:虽然简洁,但可能包含不必要的数据,浪费带宽,且不利于性能优化。应尽可能明确指定所需列。
2. **条件查询**
- 按照职位(JOB)筛选:`SELECT * FROM emp WHERE job = 'PRESIDENT'`
- 处理NULL值和0:`SELECT * FROM emp WHERE comm = 0 OR comm IS NULL`,理解两者含义的不同。
3. **日期范围查询**:
- 使用 `TO_DATE()` 函数:`SELECT * FROM emp WHERE hire_date BETWEEN TO_DATE('1981-5-1', 'yyyy-mm-dd') AND TO_DATE('1981-12-31', 'yyyy-mm-dd')`
4. **字符串操作**
- 命名长度检查:`SELECT * FROM emp WHERE LENGTH(ename) = 4`
- 模糊查询:`SELECT * FROM emp WHERE ename NOT LIKE '%L%' OR ename LIKE '%SM%'`
5. **特定角色的工资查询**:
- 部门经理的薪资:`SELECT sal FROM emp WHERE job = 'MANAGER'`
6. **比较运算与收入筛选**:
- 佣金高于工资:`SELECT * FROM emp WHERE comm > sal`
7. **日期函数应用**:
- 计算生日:`SELECT * FROM emp WHERE TO_CHAR(hire_date, 'mm') = TO_CHAR(SYSDATE, 'mm')`,这里考察了单行函数的使用。
这些题目旨在检验求职者对SQL语法的掌握程度,以及他们能否灵活运用函数、逻辑运算和条件判断来解决问题。熟练掌握这些基础技能,对于进入Oracle数据库领域至关重要。在面试过程中,除了回答问题,展示对数据库设计、索引优化、存储过程等方面的理解也是加分项。希望这些题目对您的面试准备有所帮助。