我正在寻找一种最有效的方法来从一个表中返回记录,这些表在另一个表中具有匹配的数字。
我想做的是这样的:
SELECT *
FROM CARS
WHERE MODEL IN (SELECT MODEL FROM CAR_MAKES
WHERE YEAR = 2018)
所以基本上,我有一年,我想从2018年的CAR_MAKES表中得到所有模型(n号),我想从返回的每个模型(n号)返回CARS表中的所有内容。
我只想返回CARS表的内容,没有别的。
我知道有几种方法可以看到这一点。从我所看到的,'WHERE IN'语句效率不高,所以最好沿着使用连接的路线。
欢迎任何想法,谢谢。
更新:
这就是我现在所拥有的:
SELECT C.* FROM CARS AS C
JOIN CAR_MAKES CM ON
C.MODEL = CM.MODEL
WHERE CM.YEAR = 2018
答案 0 :(得分:0)
SELECT *
FROM CARS C
LEFT OUTER JOIN CAR_MAKES CM ON C.id = CM.carsId
WHERE CM.YEAR = 2018