Problema no es, abuso, algunos si podrían considerarlo. En la mañana que te respondí iba de prisa. Ambas operaciones son básicamente un LEFT ANTI SEMI JOIN, si investigas al respecto, después pensar en ellas será automático.
Código:
SELECT *
FROM Empleados AS e
WHERE NOT EXISTS (
SELECT NULL
FROM Historial
WHERE FEC_Cont = e.FEC_Cont
AND Puesto = e.Puesto
)
---- Esta es otra opción
SELECT e.*
FROM Empleados AS e
LEFT JOIN Historial AS h
ON e.FEC_Cont = h.FEC_Cont
AND e.Puesto = h.Puesto
WHERE h.FEC_Cont IS NULL