Middle
Scrivi una query SQL: ci sono una tabella clienti (clients) e una tabella blacklist (blacklist) con un campo id. Devi selezionare tutti i clienti che non sono nella blacklist. Proponi diverse soluzioni.
sobes.tech AI
Risposta dell'AI
Per selezionare clienti che non sono nella lista nera, è possibile utilizzare diverse opzioni di query SQL:
- Utilizzo di LEFT JOIN con verifica di NULL:
SELECT c.*
FROM clients c
LEFT JOIN blacklist b ON c.id = b.id
WHERE b.id IS NULL;
- Utilizzo di NOT IN:
SELECT *
FROM clients
WHERE id NOT IN (SELECT id FROM blacklist);
- Utilizzo di NOT EXISTS:
SELECT *
FROM clients c
WHERE NOT EXISTS (
SELECT 1 FROM blacklist b WHERE b.id = c.id
);
Ognuna di queste opzioni ha caratteristiche di performance diverse, a seconda del sistema di gestione del database e del volume di dati.