Menu
Coddy logo textTech

Recap - With Queries

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 :

  • <b>devices_specs</b> : <b>device_id</b>, <b>width</b>, <b>height</b>, <b>num_features</b>, <b>opinion</b>
  • <b>devices_score</b> : <b>device_id</b>, <b>score</b>

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

Nous voulons trouver tous les appareils surestimés. Récupérez tous les appareils où l'opinion de l'appareil est supérieure à la qualité moyenne (average) et le score de l'appareil est inférieur à la qualité moyenne. Renvoyez uniquement le device_id.

Pour résoudre ce 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 qui contient une seule valeur moyenne
WITH avg_quality AS (
    SELECT ____ AS avg_q
    FROM devices_specs
)
-- Étape 2 : rassembler les deux tables de devices, puis attacher 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 devices qui se situent 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