SQL数据库查询实践:CASE-END与成绩分析

需积分: 11 2 下载量 183 浏览量 更新于2024-07-12 收藏 3.09MB PPT 举报
"CASE-END课堂练习-高级数据库sql——课件" 这个课件主要涵盖了数据库管理中的高级SQL概念,特别是T-SQL(Transact-SQL)的使用,适合正在学习数据库管理和SQL编程的学生。课程的核心是利用CASE-END语句进行成绩分类,以及深入讲解SQL中的其他关键知识点。 1. CASE-END语句的使用: CASE-END语句在SQL中用于根据条件返回不同的结果。在这个例子中,它被用来将学员的成绩按照不同等级(优、良、中、差、不及格)进行分类。通过对writtenExam和labExam的平均分进行计算,然后根据得分范围来确定等级。 2. 平均分计算: 计算平均分的方法是将书面考试和实验考试的分数相加,然后除以2。如果得到的平均分小于60,那么表示成绩不及格。 3. SQL系统视图: 提到了sysdatabases和sysobjects这两个系统视图,它们分别提供了关于数据库和数据库对象的信息。sysdatabases包含所有数据库的信息,而sysobjects则包含数据库中的所有对象,如表、视图、存储过程等。 4. 主键和唯一性约束: PK_stuNo表示主键约束,确保stuNo列的唯一性。UNIQUE(stuID)表示stuID列具有唯一性约束,不允许重复值。 5. 默认值和范围约束: DEFAULT('地址不详') FOR stuAddress 表示如果未提供stuAddress,则默认值为“地址不详”。stuAge BETWEEN 15 AND 40 确保stuAge列的值在15到40之间。 6. 存储过程中的变量: 局部变量以单个@开头,如@age和@name,而全局变量以双@@开头,如@@ERROR。讲解了变量的声明、赋值(通过SET或SELECT)以及使用SELECT语句赋值时的注意事项。 7. SELECT语句的限制: 当使用SELECT语句给变量赋值时,必须确保查询结果只有一行,否则只会取最后一行。这强调了在写查询时需要添加适当的WHERE子句来限制结果集。 8. 打印输出: PRINT语句类似于Java的printf()函数,用于在控制台输出信息。讲解了@@ERROR全局变量,它记录了最近一次T-SQL语句执行时的错误代码。 9. 数据转换: convert函数用于将数据从一种类型转换为另一种类型,这里是转换数据类型的一个实例。 10. IF-ELSE语句和BEGIN-END块: 引入了与Java中的if-else语句类似的T-SQL逻辑控制结构,用于基于条件执行不同的代码块。BEGIN-END用于创建一个代码块,使得多条语句可以作为一个整体执行。 这个课件的目的是帮助学生理解和熟练运用这些高级SQL概念,通过实际的练习和示例,加深对数据库查询和管理的理解。学生不仅需要掌握CASE-END的用法,还要学会如何处理和操作数据库中的数据,包括定义和使用变量、执行条件判断以及进行数据转换等。