Din select-sætning er mere kompleks, end den behøver at være, du får det samme sæt på denne måde:
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;
Din opdatering kan udføres på denne måde. Bemærk, at afsnittet "og eksisterer" er valgfrit, men jeg har en tendens til at inkludere det for at gøre hensigten med forespørgslen mere klar.
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);