SQL练习帮助需要sql-ex

时间:2016-07-29 04:46:37

标签: sql

我目前正在sql-ex

进行练习#6

问题如下:

对于生产硬盘容量为10 Gb或更高的笔记本电脑的每个制造商,找到这种笔记本电脑的速度。结果集:制造商,速度。

数据库包含4个表

产品(制造商,型号,类型)

笔记本电脑(型号,价格,速度,内存,高清,屏幕)

PC(型号,价格,速度,内存,高清)

打印机(型号,价格,颜色,价格)

我的回答:

SELECT Product.maker,
       Laptop.speed
FROM Product JOIN Laptop
    ON Product.model = Laptop.model
WHERE Laptop.hd >= 10

结果是正确的,但他们说:

  

您的查询在第一个(可用)数据库上返回了正确的数据集,但它在第二个检查数据库上返回了不正确的数据集。   *错误的记录数量(更多2)

所以我想知道我的答案有什么问题。

希望得到一些帮助!

提前致谢。

2 个答案:

答案 0 :(得分:1)

您必须在DISTINCT子句中添加SELECT,因为某些笔记本电脑可能具有相同的速度:

SELECT DISTINCT Product.maker,
                Laptop.speed
FROM Product JOIN Laptop
    ON Product.model = Laptop.model
WHERE Laptop.hd >= 10

答案 1 :(得分:0)

我想你忘了指定:

SELECT Product.maker
,Laptop.speed
FROM Product JOIN Laptop
ON Product.model = Laptop.model
WHERE Laptop.hd >= 10
AND Type = 'Laptop'