Odhaľ záludný NULL bug a obíď ho
Dotaz „nájdi zákazníkov, ktorí nemajú žiadne objednávky" formulovaný cez NOT IN nesie nepríjemný bug: ak podotaz obsahuje čo i len jeden riadok s NULL, celé NOT IN ticho vráti nula riadkov — bez chyby, bez varovania. Klasická pasca trojhodnotovej logiky v SQL.
Bezpečný ekvivalent je NOT EXISTS: vráti riadok, keď vnútorný dotaz nič nenašiel, a je voči NULL imúnny. Prepíš kontrolu „zákazníci bez objednávok" pomocou NOT EXISTS tak, aby dotaz fungoval správne aj pri NULL v dátach. Zobraz id a email takýchto zákazníkov, zoraď podľa id.
Ukážka očakávaného výstupu
Takto vyzerá správna odpoveď — počet riadkov je jej vlastný, nemusí sa zhodovať s tabuľkami schémy.
| id | |
|---|---|
| 3 | новый@email |
Prihláste sa, aby ste videli históriu odoslaní
Prihlásiť saPrihláste sa, aby ste mohli používať AI mentora
Prihlásiť sa