问题:在汽车数据库中,有一个包含列 ModelID、MakeID 和 ModelName 的 Model 表和一个包含 CarID、ModelID、VIN、ModelYear 和 StickerPrice 列的 Car 表。使用子查询和 IN 列出贴纸价格大于 30000 美元的所有型号名称
我能够使用以下方法解决问题:
SELECT ModelName FROM MODEL
WHERE ModelID IN (SELECT ModelID FROM CAR WHERE stickerPrice >30000);
但是,我尝试使用“IN”关键字对“型号”表进行子查询,以显示“型号名称”和“标价”,但出现了一些错误。我试过了:
SELECT ModelName, stickerPrice FROM car
WHERE stickerPrice >30000
AND ModelID IN(SELECT ModelID From Model);
但我得到了错误,因为“模型名”是模型表上的一个字段。我也试过别名:
SELECT M.ModelName, stickerPrice FROM car
WHERE stickerPrice >30000
AND ModelID IN(SELECT ModelID From Model) AS M;
但由于“AS”关键字,我得到一个语法错误。
我只是不确定为什么以另一种方式这样做不会按预期工作。