#820

Odhal záludný NULL bug a obejdi ho

Dotaz „najdi zákazníky, kteří nemají žádné objednávky" formulovaný pomocí NOT IN nese ošklivý bug: pokud poddotaz obsahuje byť jen jeden řádek s NULL, celé NOT IN tiše vrátí nula řádků — žádná chyba, žádné varování. Klasická past tříhodnotové logiky v SQL. Bezpečným ekvivalentem je NOT EXISTS: vrátí řádek, když vnitřní dotaz nic nenašel, a vůči NULL je imunní. Přepiš kontrolu „zákazníci bez objednávek" pomocí NOT EXISTS tak, aby dotaz fungoval správně i s NULL v datech. Zobraz id a email takových zákazníků, seřaď podle id.

Ukázka očekávaného výstupu

Takto vypadá správná odpověď — počet řádků je její vlastní, nemusí odpovídat tabulkám schématu.

idemail
3новый@email

Výsledek vašeho dotazu se zobrazí zde