SQL控制语句讲解:CASE-WHEN逻辑判断与T-SQL特例

需积分: 11 2 下载量 128 浏览量 更新于2024-07-12 收藏 3.09MB PPT 举报
"高级数据库SQL课程,讲解了逻辑控制语句,包括CASE-END多分支语句,以及T-SQL中的变量、赋值、打印显示、条件判断等概念。" 在SQL中,逻辑控制语句是用于控制流程的重要工具,使得我们能够根据不同的条件执行不同的操作。在高级数据库SQL课程中,CASE-END语句被介绍为一种实现多分支逻辑的方法。这个语句允许我们基于不同的条件返回不同的结果。例如: ```sql CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 …… ELSE 其他结果 END ``` 在这个结构中,当满足`条件1`时,返回`结果1`;如果`条件1`不成立,但满足`条件2`,则返回`结果2`;以此类推。如果所有条件都不满足,则执行`ELSE`后的`其他结果`。 课程中还提到了SQL与Java等编程语言中多分支语句的差异,提示学习者不要直接将SQL的逻辑与C语言等进行类比。 此外,课程还涵盖了数据库中的关键概念,如`sysdatabases`和`sysobjects`,这些是系统表,用于存储关于数据库及其对象的信息。同时,还讲解了数据库约束,如主键(`PK_stuNo`)、唯一性约束(`UNIQUE(stuID)`)、默认值(`DEFAULT('地址不详') FOR stuAddress`)和年龄范围约束(`stuAge BETWEEN 15 AND 40`)。 在T-SQL(Transact-SQL,SQL Server的扩展)中,变量的使用是一个重要的部分。局部变量以单个@符号开头,如`@age`,而全局变量使用双@符号,如`@@ERROR`。局部变量需要先声明再赋值,可以使用`SET`或`SELECT`语句进行赋值。`SET`通常用于简单的赋值,而`SELECT`适用于从表中查询数据。但使用`SELECT`赋值时需要注意,若返回多条记录,只会取最后一条。`PRINT`语句用于输出信息,类似于Java的`printf()`函数。 课程还涉及了条件判断的`IF-ELSE`结构,与Java语言中的语法类似,`BEGIN-END`用来包裹一组语句,形成一个代码块。这种结构在数据库脚本中非常常见,用于根据条件执行不同的数据库操作。 在实际应用示例中,课程提出一个问题,要求编写SQL查询找到名为“李文才”的学生的同桌(假设同桌是指相邻座位的学生)。这个问题旨在引导学生理解如何通过查询和逻辑判断来解决实际问题。 这个高级数据库SQL课程详细讲解了逻辑控制语句、变量使用、条件判断以及数据库操作中的各种概念,为学生提供了深入理解和应用SQL技能的基础。