Sobes.tech
Middle

Écrivez une requête SQL : il y a une table de clients (clients) et une table de liste noire (blacklist) avec un champ id. Il faut sélectionner tous les clients qui ne sont pas dans la liste noire. Proposez plusieurs solutions.

sobes.tech IA

Réponse de l'IA

Pour sélectionner des clients qui ne figurent pas dans la liste noire, vous pouvez utiliser plusieurs options de requêtes SQL:

  1. Utilisation de LEFT JOIN avec vérification de NULL:
SELECT c.*
FROM clients c
LEFT JOIN blacklist b ON c.id = b.id
WHERE b.id IS NULL;
  1. Utilisation de NOT IN:
SELECT *
FROM clients
WHERE id NOT IN (SELECT id FROM blacklist);
  1. Utilisation de NOT EXISTS:
SELECT *
FROM clients c
WHERE NOT EXISTS (
  SELECT 1 FROM blacklist b WHERE b.id = c.id
);

Chacune de ces options a ses propres caractéristiques en termes de performance, selon le SGBD et le volume de données.