Apakah ada NULL di taxon_name_element.parent_id
?
Pertanyaannya...
select taxon_id
from taxon_name_element
where taxon_id not in (
select parent_id
from taxon_name_element
)
...setara dengan...
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
...di mana parent_id_X
adalah nilai aktual yang saat ini ada di parent_id
kolom. Jika salah satunya adalah NULL, taxon_id <> parent_id_X
yang sesuai ekspresi akan "runtuh" menjadi NULL, menyeret seluruh ekspresi WHERE dengannya.
Saring NULL untuk mendapatkan apa yang Anda inginkan:
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
)