#820

Aptikite klastingą NULL klaidą ir ją apeikite

Užklausa «rask klientus, kurie neturi nė vieno užsakymo», suformuluota per NOT IN, turi klastingą klaidą: jei pouužklausoje yra bent viena eilutė su NULL, visas NOT IN tyliai grąžina nulį eilučių — be klaidos, be įspėjimo. Tai klasikinė SQL trireikšmės logikos spąstai. Saugus analogas — NOT EXISTS: jis grąžina eilutę, kai vidinė užklausa nieko nerado, ir yra atsparus NULL. Perrašykite patikrą «klientai be užsakymų» per NOT EXISTS taip, kad užklausa veiktų teisingai net esant NULL duomenyse. Parodykite tokių klientų identifikatorių ir email, rūšiuokite pagal identifikatorių.

Laukiamo rezultato pavyzdys

Taip atrodo teisingas atsakymas — jo eilučių skaičius yra savitas, jis neprivalo sutapti su schemos lentelėmis.

idemail
3новый@email

Jūsų užklausos rezultatas bus rodomas čia