我遇到以下问题遇到了一些困难。
SELECT maker, speed
FROM
(
SELECT *
FROM product
NATURAL JOIN laptop
)
WHERE hd > 30;
我正在努力寻找硬盘大于30千兆字节的笔记本电脑的制造商和速度。
我有两个关系笔记本电脑和产品。笔记本电脑有元组(制造商,型号,类型)和笔记本电脑有元组(型号,速度,内存,高清,屏幕和价格)。
我认为我在做什么。
答案 0 :(得分:3)
FROM
子句中的子查询需要表别名:
SELECT maker, speed
FROM
(
SELECT *
FROM product
NATURAL JOIN laptop
/* include an alias with AS */
) AS products_sub
WHERE hd > 30;
table_subquery也称为FROM子句中的子查询。此类子查询必须包含别名,以便为子查询结果提供表名。一个微不足道的例子如下;另请参见第12.2.9.8节“FROM子句中的子查询”。
但是对于您的示例,根本不需要子查询。
SELECT maker, speed
FROM products NATURAL JOIN laptop
WHERE hd > 30;
请注意,通常不建议使用NATURAL JOIN
,最好明确说明ON
子句中加入的列。
答案 1 :(得分:0)
SELECT maker, speed
FROM products JOIN laptop
WHERE hd > 30;