das mit den korrelierten unterabfragen bezieht sich auf die verwendung von MIN / MAX. wenn du wirklch nur von einem fahrzeug den entprechenden einen datensatz haben willst, geht es auch mit einem INNER JOIN und LIMIT. wie das ohne unterabfrage geht, wurde dir schon gezeigt, wobei ich immer die implizite JOIN schreibeweise verwenden würde. aber wie gesagt, ich mag die LIMIT notation nicht, sie führst zwar zu einer schnellen lösung, aber verleitet auch sehr schnell. und wennn du deine abfrage ein wenig erweiterst und nicht nur von einem fahrzeug den letzten tripp haben willst, sondern von allen fahrzeugennach vor einem bestimmten zeitraum, dann solltest du erst recht auf den MIN / MAX weg umsteigen.
Bei deinem Beispiel würde ich dann zu GROUP BY greifen.
Jedoch versteh ich dein MIN / MAX hinweis nicht, ich kenne diese Begriffe nur im Zusammenhang mit GROUP BY ... um den höchsten oder niedrigsten wert zu ermitteln bzw für die HAVING Bedingung.