Query-ul ca să obții muncitorii care nu au lucrat într-o anumită dată:
SELECT id, nume, prenume
FROM muncitori
WHERE NOT EXISTS
(SELECT *
FROM unde_a_lucrat
WHERE muncitor_id = muncitori.id
AND data = ?);
Am folosit un subquery, noțiune cu care poți să te familiarizezi aici.
Dacă vrei să înveți SQL îți recomand tutorialul de pe w3schools. Ai și aici pe forum o discuție despre JOIN-uri, acestea fiind probabil cele mai complicate operații în SQL.
P.S.: Îți recomand să folosești prepared statements deoarece previn SQL injection, îmbunătățind securitatea aplicației.