Как я уже писал в комментарии, вы присоединяетесь к programs.course = courses.name
, но biology
записано не одинаково в обеих таблицах.
Как только это будет исправлено, я напишу запрос следующим образом:
select c.code from programs p
join degrees d on p.degree = d.code
join course c on p.course = c.name
where d.type = 'UG'
group by c.code
having count(degree) = 1