SQL迭代返回结果的最佳方法

时间:2017-05-12 16:25:00

标签: mysql sql database relational-database

我正在尝试练习我的SQL技能,我有这个架构:

enter image description here

我想出了这个问题:

SELECT vehicle_id 
FROM reservation 
WHERE NOT (pickup_date<='2017-05-20' 
AND end_date>='2017-05-15')

它将返回vehicle_ids行,我希望能够使用这些车辆ID并从车辆表返回vehicle_name。怎么去这个?我听说SQL连接会有JOIN实现这个目标吗?

1 个答案:

答案 0 :(得分:0)

我不确定你要求的是什么,但如果你想要一个查询同时返回车辆ID和车辆名称,你应该这样做:

SELECT r.vehicle_id, v.vehicle_name
FROM reservation r
LEFT JOIN vehicle v ON r.vehicle_id = v.vehicle_id
WHERE NOT (r.pickup_date<='2017-05-20'
AND r.end_date>='2017-05-15')

这将返回两列:车辆ID之一和车辆名称之一。

(抱歉法语单词&#39; vehicule&#39;)