Menu
Coddy logo textTech

Recap - With Queries

Teil des Abschnitts Grundlagen der SQL-Journey von Coddy. Lektion 50 von 72.

challenge icon

Aufgabe

Einfach

Verfügbare Tabellen und Spalten:

  • <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>

Die Qualität eines Geräts wird durch (width/height)*num_features gemessen.

Wir möchten alle überbewerteten Geräte finden. Rufen Sie alle Geräte ab, bei denen die opinion des Geräts größer als die durchschnittliche Qualität (average) ist und der score des Geräts kleiner als die durchschnittliche Qualität ist. Geben Sie nur die device_id zurück.

Verwenden Sie zur Lösung die WITH-Klausel, um eine Unterabfrage zu erstellen, die die durchschnittliche Qualität berechnet, und verwenden Sie diese in der Hauptabfrage wieder.

Probier es selbst

-- Schritt 1: benenne eine temporäre Ergebnismenge, die einen einzelnen Durchschnittswert enthält
WITH avg_quality AS (
    SELECT ____ AS avg_q
    FROM devices_specs
)
-- Schritt 2: bringe die beiden Geräte-Tabellen zusammen und hänge dann die temporäre Ergebnismenge an
SELECT dsp.device_id
FROM devices_specs dsp
INNER JOIN devices_score dsc ON ____
INNER JOIN avg_quality aq
-- Schritt 3: behalte die Geräte, die auf gegenüberliegenden Seiten dieses Durchschnitts liegen
WHERE ____

Alle Lektionen in Grundlagen

Übe selbstständig: SQL-Playground