考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

检索销量表中销量最好的商品id和销量,下列SQL语句正确的是()
A. SELECT 商品id,销量 FROM 销量表 WHERE 销量=MAX(销量)
B. SELECT 商品id,MAX(销量) FROM 销量表 GROUP BY 销量
C. SELECT 商品id,MAX(销量) FROM 销量表 GROUP BY 商品id
D. SELECT 商品id,销量 FROM 销量表 WHERE 销量=(SELECT MAX(销量) FROM 销量表)
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

第一步先查询最高销量是多少:SELECT MAX(销量) FROM 销量表;将第一步的查询结果作为筛选条件,第二步再查询满足条件的商品id和销量;因此需要用到子查询进行条件筛选

正确答案是:D: SELECT 商品id,销量 FROM 销量表 WHERE 销量=(SELECT MAX(销量) FROM 销量表)

分析如下:

A: `SELECT 商品id,销量 FROM 销量表 WHERE 销量=MAX(销量)`
- 这条语句是错误的,因为 `MAX(销量)` 是一个聚合函数,不能直接在 `WHERE` 子句中使用。

B: `SELECT 商品id,MAX(销量) FROM 销量表 GROUP BY 销量`
- 这条语句也是错误的,因为 `GROUP BY 销量` 会将结果按销量分组,而不是按商品分组,这样会导致无法正确获取销量最高的商品。

C: `SELECT 商品id,MAX(销量) FROM 销量表 GROUP BY 商品id`
- 这条语句虽然语法正确,但它会返回每个商品的最大销量,而不是整个表中销量最高的商品。

D: `SELECT 商品id,销量 FROM 销量表 WHERE 销量=(SELECT MAX(销量) FROM 销量表)`
- 这条语句是正确的,它通过子查询 `SELECT MAX(销量) FROM 销量表` 获取整个表中最高的销量,然后在外层查询中筛选出销量等于这个最大值的商品。

因此,D选项是正确的。