Sobes.tech
Middle

Parašykite SQL užklausą: yra klientų lentelė (clients) ir juodųjų sąrašų lentelė (blacklist) su lauku id. Pasirinkite visus klientus, kurie nėra juodajame sąraše. Pasiūlykite keletą sprendimų.

sobes.tech AI

Atsakymas iš AI

Klientų, kurie nėra juodajame sąraše, pasirinkimui galima naudoti keletą SQL užklausų variantų:

  1. Naudojant LEFT JOIN su NULL patikra:
SELECT c.*
FROM clients c
LEFT JOIN blacklist b ON c.id = b.id
WHERE b.id IS NULL;
  1. Naudojant NOT IN:
SELECT *
FROM clients
WHERE id NOT IN (SELECT id FROM blacklist);
  1. Naudojant NOT EXISTS:
SELECT *
FROM clients c
WHERE NOT EXISTS (
  SELECT 1 FROM blacklist b WHERE b.id = c.id
);

Kiekvienas iš šių variantų turi savo veikimo ypatybes, priklausomai nuo duomenų bazės valdymo sistemos ir duomenų kiekio.