När jag står inför problemet att alltid returnera exakt en rad använder jag ofta aggregering. Följande returnerar NULL
om det inte finns någon matchning:
select max(employee_id)
from employee
where name = 'John_Doe';
Följande returnerar 0:
select coalesce(max(employee_id), 0)
from employee
where name = 'John_Doe';