SQL 2005初学者指南:查询与存储过程实例

需积分: 3 7 下载量 59 浏览量 更新于2024-07-31 收藏 71KB DOC 举报
本资源是一份关于SQL Server 2005的试题参考资料,适合初学者使用。主要内容包括SQL查询和存储过程的基本概念及操作。 在第一个题目中,考察的是如何编写SQL查询来找出所有商业类书籍中预付款超过平均预付款的书名。题目提供了"Titles"表的结构,包含Title、Advance(预付款)和Type(书籍类型)字段。目标是找到预付款大于商业类别书籍平均预付款的书籍。选项分析如下: - 选项1试图直接比较预付款与已分组的商业书籍平均预付款,但这不是SQL标准的写法,因为子查询不支持直接赋值给表中的列。 - 选项2正确地使用了子查询和AVG函数,计算出商业书籍的平均预付款,然后与每个书籍的预付款进行比较,符合题意。 - 选项3在比较时使用了等于号,可能会漏掉预付款恰好等于平均值的情况,不符合题目要求。 - 选项4同时使用了平均值和类型条件,虽然逻辑上接近,但语句结构不完整,没有明确指定预付款字段,所以不完整。 因此,正确答案是选项2。 第二个题目涉及存储过程的创建和参数处理。题目描述的是为RedSkyInc.开发一个名为`prcGetPos`的存储过程,用于获取特定职位代码的职位描述和要求。初始提供的存储过程语法存在问题,因为它没有正确地声明输出参数。正确的输出参数应标记为OUTPUT,以便在调用过程中返回值。选项分析如下: - 选项1使用OUTPUT关键字正确地标记了输出参数,这是必要的。 - 选项2缺少输出参数前的OUTPUT关键字,导致无法正确获取返回值。 - 选项3试图ALTER PROCEDURE,这不是创建过程的正确语法,且没有正确处理输出参数。 - 选项4在@RDint参数后使用了IN,表明它不是一个输出参数,这会导致调用过程时无法接收返回值。 综上,正确的输出参数语法应该是选项1。 总结起来,这份试题主要涵盖了SQL查询中的条件筛选和存储过程的参数定义与返回值处理,是学习SQL Server 2005实践应用的好材料。通过这些题目,初学者可以理解如何使用SQL语句进行数据过滤,并掌握存储过程的基本调用和参数设置技巧。