Twoja instrukcja select jest bardziej złożona niż jest to konieczne, ten sam zestaw otrzymasz w ten sposób:
SELECT emp.employee_id,min(bo.booking_date) booking_date
FROM employee emp
LEFT JOIN booking bo
ON bo.employee_id = emp.employee_id
WHERE emp.joining_date is NULL
GROUP BY emp.employee_id;
Twoja aktualizacja może być wykonana w ten sposób, pamiętaj, że sekcja „i istnieje” jest opcjonalna, ale zwykle umieszczam ją, aby intencja zapytania była bardziej jasna.
UPDATE employee emp
SET emp.joining_date =
(SELECT min(booking_date) from booking bo where bo.employee_id = emp.employee_id)
WHERE emp.joining_date IS NULL
and exists(select * from booking bo where bo.employee_id = emp.employee_id);