Oracle SQL查询练习与解答

版权申诉
5星 · 超过95%的资源 1 下载量 135 浏览量 更新于2024-09-10 收藏 54KB DOC 举报
"Oracle选择题与答案解析" 在Oracle数据库管理中,SQL语言是用于查询和操作数据的核心工具。以下是对题目中涉及的知识点进行的详细解释: 1. 查询月固定费用是5.9元,8.5元,10.5元的资费信息。在SQL中,正确的查询方法是使用`IN`操作符来匹配多个特定值。因此,正确答案是A和B。选项A使用了`IN (5.9, 8.5, 10.5)`,这是正确的语法。选项B使用了逻辑运算符`OR`连接条件,同样能正确获取所需数据。选项C使用了`BETWEEN`,它适用于一个范围,不适用于多个独立值。选项D错误地使用了`AND`,因为一个字段不可能同时等于三个不同的值。 2. 在Oracle中,`LIKE`操作符用于模式匹配。`LIKE 'A%'`表示查询`Name`字段以"A"开头的所有记录。根据给定的表`Person`,这将返回ID为001(Amber)和002(Amy)的记录,对应的`Tel`分别是1234和2345。因此,查询到的`Tel`应该是A和B。 3. 显示表`service`的所有行和所有列,最简单的SQL语句是`SELECT * FROM service;`,星号(*)代表所有列。选项A正确,而选项B、C和D是不正确的语法。 4. `NVL`函数在Oracle中用于处理空值(NULL)。它可以作用于各种数据类型,包括B选项中的字符型数据。A选项的CLOB(大型对象)也可以,但通常更适用于文本大数据。C选项的日期和D选项的ROWID(行标识符)同样适用。所以,NVL函数可以作用的数据类型包括B、C和D。 5. 空值(NULL)在数据库中表示未知或未定义的值。空值不等于0、空格或空字符串。因此,A、B和D都是错误的。选项C正确,因为在算术表达式中包含空值会导致结果也是空值,因为NULL与任何值的运算结果都是NULL。 6. 如果`EMP`表有14条记录,语句`SELECT 'yulin' FROM EMP`将为每条记录返回'yulin',因此结果是14行'yulin',选项C正确。选项A和B错误,因为结果不是单个值,而是14行重复的值。选项D提及的“显示标识符无效”通常与SQL语句语法错误有关,这里并不适用。 7. A和B两个SQL语句没有给出完整信息,但从给出的部分来看,A语句似乎在计算基于`base_duration`和`base_cost`的年份值。`B`语句的片段没有给出足够的信息来评估其正确性,通常`SELECT`语句后面跟着列名或表达式。 这些题目涵盖了SQL基础,如查询操作、模式匹配、空值处理以及函数应用,这些都是Oracle数据库管理中的核心概念。通过这些练习,可以增强对Oracle SQL的理解和应用能力。