Oracle基础试题集:数据库笔试必备

需积分: 1 1 下载量 72 浏览量 更新于2024-09-10 收藏 36KB DOC 举报
“这是一份Oracle数据库的试题文档,包含了选择题和部分SQL操作的考察,适合于准备面试或自我提升的IT从业者。题目涉及了链接运算符、字符串查询、HAVING子句的使用、UPDATE语句的语法、NVL函数的功能以及日期和字符串处理函数的应用。” 以下是对这些知识点的详细解释: 1. **链接运算符**:在Oracle SQL中,链接运算符用于组合两个或多个查询结果。题目中提到的选项中,A. AND 用于逻辑与,表示两个条件都必须满足;B. || 是并集运算符,用于字符串连接;C. ~ 是正则表达式中的否定匹配;D. + 不是SQL中的链接运算符。正确的链接运算符通常是指JOIN语句中的JOIN、LEFT JOIN、RIGHT JOIN等。 2. **字符串查询**:在SQL中,查询字符串常量需要使用单引号包围。因此,查询name为mary’s的数据,正确的写法是B. `WHERE name = 'mary''s'`,注意在字符串内嵌入单引号需要使用两个单引号来转义。 3. **HAVING子句**:HAVING子句用于在GROUP BY后的聚合函数上设置条件,而不是在WHERE子句中。因此,正确的用法是C. `SELECT column_a FROM table GROUP BY column_a HAVING COUNT(*) > 1`。HAVING子句不能直接放在WHERE子句之后,必须在GROUP BY之后。 4. **UPDATE语句**:更新表中数据的语法是`UPDATE table_name SET column_name = new_value WHERE condition`。选项A和C的语法错误,缺少SET关键字;B是正确的,将所有column_a等于'tset'的行的column_a更新为'test';D也是正确的,同时更新column_a和column_b,且有特定的WHERE条件。 5. **NVL()函数**:NVL()函数在Oracle中用于处理空值(NULL),它会检查第一个参数是否为空,如果为空则返回第二个参数的值,否则返回第一个参数。因此,D. 空值替换是NVL()函数的作用。 6. **日期和字符串函数**: - A. `TO_CHAR(sysdate,'YYYYMMDDHH24MISS')` 是将系统当前日期和时间转换为指定格式的字符串,正确。 - B. `TO_DATE('2009-01-01','YYYY-MM-DDHH24:MI:SS')` 将字符串转换为日期,也正确。 - C. `INSTR('abcdef','ccc','bbb')` 的第三个参数在Oracle中无意义,因为INSTR函数查找子串的位置,不接受第三个参数,所以这个选项是错误的。 - D. `MAX(LENGTH(column_b))` 用于找出column_b字段的最大长度,正确。 7. **ROUND()和TRUNC()函数**:ROUND()函数用于四舍五入,而TRUNC()函数用于截断小数部分。例如,`ROUND(3.1415926)`可能会将结果四舍五入到最接近的整数,而`TRUNC(3.1415926)`则会去掉小数部分,返回3。 以上知识点涵盖了Oracle SQL的基础操作,包括查询、更新、聚合函数、字符串和日期处理等,对于理解和操作Oracle数据库至关重要。