SQL中查询xsda表中各同学的学号、姓名和总学分,对其总学分按以下规则进行替换:若总学分为空值,则替换为“尚未选课” 若总学分小于50,则替换为“不及格” 若总学分在50与52之间,则替换
时间: 2024-10-27 14:06:39 浏览: 43
在Visual Foxpro中使用SQL语句查找两个表中相同或不同的记录.pdf
在SQL中,你可以使用`COALESCE`, `CASE`或`IFNULL`等函数来处理这种条件替换的情况。这里是一个示例,假设你的表名为`xsda`,并且有`student_id`(学号)、`name`(姓名)和`total_credits`(总学分)字段:
```sql
SELECT
student_id,
name,
CASE
WHEN total_credits IS NULL THEN '尚未选课'
WHEN total_credits < 50 THEN '不及格'
WHEN total_credits BETWEEN 50 AND 52 THEN '及格边缘'
ELSE total_credits
END AS modified_total_credits
FROM xsda
```
在这个查询中,`CASE`表达式检查每个`total_credits`值,并根据给定的条件返回相应的字符串。如果`total_credits`不存在(`IS NULL`),则返回'尚未选课';如果小于50,则返回'不及格';如果在50到52之间(包括50和52),返回'及格边缘'。其他情况则保留原始的`total_credits`值。
阅读全文