sql >> Databáze >  >> RDS >> Mysql

MySQL NOT IN dotaz nefunguje

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
)


  1. Příkazy SQLite

  2. Vraťte krátký název měsíce z data v Oracle

  3. Jak zjistit, že uživatel je přítomen v databázi Sqlite pomocí Androidu?

  4. Jak obnovit databázi MySQL ze souborů .myd, .myi, .frm