Middle
Napíšte SQL dopyt: existuje tabuľka klientov (clients) a tabuľka čiernej listiny (blacklist) s poľom id. Vyberte všetkých klientov, ktorí nie sú na čiernej listine. Navrhnite niekoľko riešení.
sobes.tech AI
Odpoveď od AI
Pre výber klientov, ktorí nie sú na čiernej listine, je možné použiť niekoľko možností SQL dotazov:
- Použitie LEFT JOIN s kontrolou na NULL:
SELECT c.*
FROM clients c
LEFT JOIN blacklist b ON c.id = b.id
WHERE b.id IS NULL;
- Použitie NOT IN:
SELECT *
FROM clients
WHERE id NOT IN (SELECT id FROM blacklist);
- Použitie NOT EXISTS:
SELECT *
FROM clients c
WHERE NOT EXISTS (
SELECT 1 FROM blacklist b WHERE b.id = c.id
);
Každá z týchto možností má svoje vlastné vlastnosti výkonu, v závislosti od systému správy databázy a objemu dát.