Menu
Coddy logo textTech

Powtórka — zapytania WITH

Część sekcji Podstawy ścieżki SQL w Coddy. Lekcja 50 z 72.

challenge icon

Wyzwanie

Łatwy

Dostępne tabele i kolumny:

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

Jakość urządzenia jest mierzona za pomocą (width/height)*num_features.

Chcemy znaleźć wszystkie urządzenia, których ocena jest zawyżona. Pobierz wszystkie urządzenia, w przypadku których opinion urządzenia jest większa niż średnia jakość, a score urządzenia jest mniejszy niż średnia jakość. Zwróć tylko device_id.

Aby rozwiązać to zadanie, użyj klauzuli WITH, aby utworzyć podzapytanie obliczające średnią jakość, a następnie ponownie wykorzystaj je w głównym zapytaniu.

Spróbuj swoich sił

-- Krok 1: nadaj nazwę tymczasowemu zbiorowi wyników zawierającemu jedną wartość średnią
WITH avg_quality AS (
    SELECT ____ AS avg_q
    FROM devices_specs
)
-- Krok 2: połącz dwie tabele urządzeń, a następnie dołącz tymczasowy zbiór wyników
SELECT dsp.device_id
FROM devices_specs dsp
INNER JOIN devices_score dsc ON ____
INNER JOIN avg_quality aq
-- Krok 3: pozostaw urządzenia, których wartości znajdują się po przeciwnych stronach tej średniej
WHERE ____

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online SQL