Jsou v taxon_name_element.parent_id
nějaké hodnoty NULL? ?
Dotaz...
select taxon_id
from taxon_name_element
where taxon_id not in (
select parent_id
from taxon_name_element
)
...je ekvivalentní...
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
...kde parent_id_X
jsou skutečné hodnoty, které jsou aktuálně v parent_id
sloupec. Pokud je byť jen jeden z nich NULL, odpovídající taxon_id <> parent_id_X
výrazy se "sbalí" na NULL a přetáhnou s sebou celý výraz WHERE.
Odfiltrujte hodnoty NULL, abyste získali, co chcete:
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
)