Menu
CoddyTech

Récapitulatif - Requêtes WITH

Fait partie de la section Les fondamentaux du Journey SQL de Coddy. Leçon 50 sur 72.

challenge icon

Défi

Facile

Tables et colonnes disponibles :

  • devices_specs : device_id, width, height, num_features, opinion
  • devices_score : device_id, score

La qualité d’un appareil est mesurée par (width/height)*num_features.

Nous voulons trouver tous les appareils surévalués. Récupérez tous les appareils dont l’opinion est supérieure à la qualité moyenne et dont le score est inférieur à la qualité moyenne. Retournez uniquement le device_id.

Pour résoudre le problème, utilisez la clause WITH pour créer une sous-requête qui calcule la qualité moyenne et réutilisez-la dans la requête principale.

Essayez vous-même

-- Étape 1 : nommer un ensemble de résultats temporaire contenant une seule valeur moyenne
WITH avg_quality AS (
    SELECT ____ AS avg_q
    FROM devices_specs
)
-- Étape 2 : joindre les deux tables d’appareils, puis y rattacher l’ensemble de résultats temporaire
SELECT dsp.device_id
FROM devices_specs dsp
INNER JOIN devices_score dsc ON ____
INNER JOIN avg_quality aq
-- Étape 3 : conserver les appareils situés de part et d’autre de cette moyenne
WHERE ____

Toutes les leçons de Les fondamentaux

Entraînez-vous par vous-même : Playground SQL