Get the App
SLTechnology News&Howtos  ›  Database  › 

[foam gold] SQL sub-query Not In no result reason

Shulou Source: shulou.com Published: 2022-06-01 17:29:07 10月02日 Update

Background source code select * from ITEM where item_id not in (select parent_item_id from ITEM) query effect

There is no matching value.

Reason

The execution statement after not in parsing is: "idling 1 and idling" 2 and idling null)

Notice the null in it. The existence of null values will cause the condition to fail as a whole, so there are no matching values.

Solution

The expected result can be achieved by excluding the null value.

Select * from ITEM where item_id not in (select parent_item_id from ITEM where parent_item_id is not null)

After the adjustment of Sql, the execution effect is as follows

Recall that not in is an and condition and cannot have null values. Tree structure, the parent field inevitably has a null value, so the query cannot be found. You can exclude null values.

Tags: Query effect condition reason result field numerical value whole scheme source code structure background solution statement expectation adjustment Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Linux Shulou Tech Info Microsoft NVidia Shulou Technology