Als u LEFT OUTER JOINs gebruikt, kunt u drie zoekopdrachten uitvoeren als:-
SELECT vehicles.ID
FROM vehicles
INNER JOIN insurance i1
ON vehicles.ID = i1.vehicle_ID
LEFT OUTER JOIN insurance i2
ON i1.vehicle_ID = i2.vehicle_ID
AND i2.expire > i1.expire
WHERE i2.id IS NULL
AND i1.expire < NOW()
Hier doet het een left outer join voor eventuele latere vervaldatums van verzekeringen, en controleert of i2.id NULL is om ervoor te zorgen dat er geen latere vervaldatum wordt gevonden, en controleert vervolgens de gevonden vervaldatum om te controleren of deze is verlopen.
SELECT vehicles.ID
FROM vehicles
LEFT OUTER JOIN insurance i1
ON vehicles.ID = i1.vehicle_ID
WHERE i1.id IS NULL
Dit controleert alleen of er geen overeenkomend verzekeringsrecord is
SELECT vehicles.ID
FROM vehicles
INNER JOIN insurance i1
ON vehicles.ID = i1.vehicle_ID
LEFT OUTER JOIN insurance i2
ON i1.vehicle_ID = i2.vehicle_ID
AND i2.expire > i1.expire
WHERE i2.id IS NULL
AND i1.expire >= NOW()
Zeer vergelijkbaar met de eerste query, het doet een left outer join voor eventuele latere vervaldatums van de verzekering, en controleert of i2.id NULL is om ervoor te zorgen dat er geen latere vervaldatum wordt gevonden, en controleert vervolgens de gevonden vervaldatum om te controleren of deze niet is verlopen .