Oracle面试精华:内置表与SQL函数详解

需积分: 9 15 下载量 17 浏览量 更新于2024-08-01 收藏 81KB DOC 举报
Oracle面试知识是求职者在应聘Oracle数据库管理员、开发人员或其他相关职位时必须掌握的重要技能。Oracle是一种关系型数据库管理系统,其面试过程中可能会涉及对SQL语言的理解、数据库管理、性能调优以及对内置函数的熟练应用。以下是部分关键知识点的详细解析: 1. **Oracle内置表** - "emp" 是一个示例表,包含了员工信息,如员工编号(empno)、姓名(ename)、职位(job)、上司(mgr)、入职日期(hiredate)、基本工资(sal)、补贴(comm)、部门编号(deptno)、部门名称(dname)、地理位置(loc)、工资等级(salgrade)等。Oracle还提供了一张名为 "dual" 的系统自带空表,用于执行简单的数学运算,如 `SELECT 2 * 3 FROM dual`。 2. **SQL函数** - Oracle SQL 提供了一系列实用的内置函数,帮助处理字符串、数值和其他数据类型。例如: - `lower(ename)`:将员工姓名转换为小写,便于模糊搜索,如 `SELECT ename FROM emp WHERE lower(ename) LIKE '_a%'` 只会返回名字以非'a'开头的小写结果。 - `substr(ename, 2, 3)`:提取姓名的第二个字符到第四个字符,这对于获取姓名的一部分很有用。 - `chr(65)`:将数字(ASCII码)65(对应'A')转换为字符 'A',显示字母的字符形式。 - `ascii('A')`:将字符 'A' 转换为其ASCII码值。 - `round()` 函数用于四舍五入,如 `SELECT round(23.652, 2)` 会返回 23.65,而 `round(23.652, -1)` 则会向下取整到最接近的10的倍数,即20。 - `to_char()` 函数用于格式化输出数据,如 `SELECT to_char(sal, '$99,999.9999')` 强制将金额格式化为货币样式,`to_char(hiredate, 'YYYY-MM-DD HH:MI:SS')` 和 `to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS')` 分别用于日期和时间的格式化,前者显示12小时制,后者显示24小时制。 掌握这些SQL函数对于编写高效且易读的查询至关重要,同时也反映了面试者对Oracle数据库底层操作和标准SQL语法的熟悉程度。在面试中,除了理论知识,实践经验、问题解决能力以及对数据库优化的理解也是考察的重点。