Finns det några NULLs i taxon_name_element.parent_id
?
Frågan...
select taxon_id
from taxon_name_element
where taxon_id not in (
select parent_id
from taxon_name_element
)
...är likvärdig med...
select taxon_id
from taxon_name_element
where
taxon_id <> parent_id_1
AND taxon_id <> parent_id_2
...
AND taxon_id <> parent_id_N
...där parent_id_X
är faktiska värden som för närvarande finns i parent_id
kolumn. Om ens en av dem är NULL, motsvarande taxon_id <> parent_id_X
uttryck kommer att "kollaps" till NULL och drar hela WHERE-uttrycket med sig.
Filtrera bort NULLs för att få det du vill ha:
select taxon_id
from taxon_name_element
where taxon_id not in (
select parent_id
from taxon_name_element
where parent_id is not null
)