问题 单项选择题

查询没有借阅图书的读者的姓名和借书证号,应使用SQL语句( )。

A) SELECT 姓名 FROM 读者 WHERE NOT EXISTS;
(SELECT 借书证号 FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)
B) SELECT 姓名,借书证号 FROM 读者 WHERE;
(SELECT * FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)
C) SELECT 姓名,借书证号 FROM 读者 WHERE NOT EXISTS;
(SELECT * FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)
D) SELECT 姓名,借书证号 FROM 读者 WHERE 借阅=NULL;
(SELECT * FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)

答案

参考答案:C

解析: 谓词EXISTS用来检验在子查询中是否有结果返回,本题中内层查询引用了外层查询的表,所以是内外层相关嵌套查询。选项A)中内层查询中查询的字段不符合题意;选项B)中缺少用来检查在子查询中是否有结果返回的谓词;选项D)中的=NULL是无效的,如果要查询空值要使用IS NULL。

选择题
单项选择题