设有图书出版表(书号,书名,出版日期,单价),其中“书号”是主键。现要查询2017年出版的单价最高的图书的书名和单价。下列语句中能正确完成该查询要求的是( )。

admin2021-07-14  14

问题 设有图书出版表(书号,书名,出版日期,单价),其中“书号”是主键。现要查询2017年出版的单价最高的图书的书名和单价。下列语句中能正确完成该查询要求的是(    )。

选项 A、SELECT书名,单价FROM图书出版表
WHERE书号in(
SELECT TOP 1 WITH TIES书号FROM图书出版表
WHERE year(出版日期)=2017
ORDER BY单价desc)
B、SELECT书名,单价FROM图书出版表
WHERE书号in(
SELECT TOP 1 WITH TIES书号FROM图书出版表
WHERE year(出版日期)=2017)
C、SELECT书名,单价FROM图书出版表
WHERE书号in(
SELECT max(单价)FROM图书出版表
WHERE year(出版日期)=2017
ORDER BY单价desc)
D、SELECT书名,单价FROM图书出版表
WHERE书号in(
SELECT max(单价)FROM图书出版表
WHERE year(出版日期)=2017)

答案A

解析 当使用SELECT语句进行查询时,有时只希望列出结果集中的前几行数据,而不是全部数据,就可以使用TOP谓词来限制输出的结果。使用TOP谓词的语法格式为:
TOP n[percent][WITH TIES];其中,n为非负整数。
①TOP n:取查询结果的前n行数据;
②TOP n percent:取查询结果的前n%行数据;
③WITH TIES:表示包括最后一行取值并列的结果。
TOP谓词写在SELECT单词的后边(如果有DISTINCT的话,则TOP写在DISTINCT的后边)、查询列表的前边。
根据题意,要求从图书出版表里查询书名、单价字段,ORDER BY单价desc是按单价从大到小的顺序取书号的第1条记录,WHERE子句限定了出版日期是2017年。故答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/N9eZ777K
0

最新回复(0)