问题 单项选择题

基于学生表S和学生选课表SC两个数据库表,它们的结构如下:

S(学号,姓名,性别,年龄)其中学号、姓名和性别为C型字段,年龄为N型字段。

SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段(初始为空值)。

查询有选课记录,但没有考试成绩的学生的学号和课程号,正确的SQL语句是()。

A.SELECT 学号,课程号 FROM sc WHERE 成绩=""

B.SELECT 学号,课程号 FROM sc WHERE 成绩=NULL

C.SELECT 学号,课程号 FROM sc WHERE 成绩 IS NULL

D.SELEC T学号,课程号 FROM sc WHERE 成绩

答案

参考答案:C

解析:

[知识点] 空值查询 [评析] 在SC表中成绩字段为数值型数据且初始为空值,本题要求查询出有选课记录,但没有考试成绩的学生的学号和课程号,只要成绩记录为空就说明没有考试成绩,即查询成绩字段为空值。查询空值时要使用IS NULL,而=NULL是无效的,因为空值不是一个确定的值,所以不能使用“=”这样的运算符进行比较,所以选项C的语法是正确的。

完形填空
单项选择题