Menu
CoddyTech

Rückblick – WITH-Abfragen

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

challenge icon

Aufgabe

Einfach

Verfügbare Tabellen und Spalten:

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

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

Wir möchten alle überbewerteten Geräte finden. Ermittle alle Geräte, bei denen die opinion des Geräts über der durchschnittlichen Qualität liegt und der score des Geräts unter der durchschnittlichen Qualität liegt. Gib nur die device_id zurück.

Verwende dazu die WITH-Klausel, um eine Unterabfrage zu erstellen, die die durchschnittliche Qualität berechnet, und verwende sie in der Hauptabfrage erneut.

Probier es selbst

-- Schritt 1: Benenne eine temporäre Ergebnismenge, die einen einzigen Durchschnittswert enthält
WITH avg_quality AS (
    SELECT ____ AS avg_q
    FROM devices_specs
)
-- Schritt 2: Verbinde die beiden Gerätetabellen und füge dann die temporäre Ergebnismenge hinzu
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 unterschiedlichen Seiten dieses Durchschnittswerts liegen
WHERE ____

Alle Lektionen in Grundlagen

Übe selbstständig: SQL-Playground