Sobes.tech
Middle

Írjon SQL-lekérdezést: van egy ügyfél (clients) és egy fekete lista (blacklist) táblázat, amelynek van egy id mezője. Válassza ki az összes ügyfelet, akik nincsenek a fekete listán. Javasoljon több megoldást.

sobes.tech MI

Válasz az MI-től

Az ügyfelek kiválasztásához, akik nincsenek a feketelistán, több SQL-lekérdezési lehetőség is használható:

  1. LEFT JOIN NULL ellenőrzéssel:
SELECT c.*
FROM clients c
LEFT JOIN blacklist b ON c.id = b.id
WHERE b.id IS NULL;
  1. NOT IN használata:
SELECT *
FROM clients
WHERE id NOT IN (SELECT id FROM blacklist);
  1. NOT EXISTS használata:
SELECT *
FROM clients c
WHERE NOT EXISTS (
  SELECT 1 FROM blacklist b WHERE b.id = c.id
);

Ezek közül minden saját teljesítményjellemzőkkel rendelkezik, a adatbázis-kezelő rendszer és az adatmennyiség függvényében.