Por lo que dices, tienes una relación al menos que es mandatoria (usuarios - vehículos), pero otra que es opcional (vehiculo - remolque).
Para responder tu pregunta necesitamos obtener precisamente aquellos casos en que un vehículo no esté relacionado con ningún remolque, y ese "ninguno" se expresa en un NULL en la segunda relación. Como el INNER JOIN requiere la existencia de una relación válida entre las tablas vinculadas, no sirve para este caso, en esa se debe usar LEFT JOIN y en aquellos en que el campo remolque.id_vehiculo sea NULL serán los que estás buscando.
Es decir:
Código MySQL:
Ver original v.marca,
v.modelo,
u.nombre,
u.email,
u.id_usuario
vehiculo v
LEFT JOIN remolque r
ON v.id_vehiculo
= r.id_vehiculo
v.estado
= 'Seminuevo' AND v.combustible = 'Diesel'
Lo que debes entender, para comprender por qué un "!=" no funciona, es que NULL no es un valor. NULL se suele definir como un puntero a la nada. Es un estado. Y ese estado determina la inexistencia, la nada, por tanto no es comparable lógicamente.
En programación eso se representa por Nothing o Null, y no se puede usar un operador lógico para determinarlo porque un operador requiere que se compare con algo que existe, con una instancia de algo y ese no es el caso de NULL.