Menu
CoddyTech

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:

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

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ększe 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 do utworzenia podzapytania obliczającego średnią jakość, a następnie wykorzystaj je ponownie w głównym zapytaniu.

Spróbuj swoich sił

-- Krok 1: nazwij tymczasowy zbiór wyników zawierający 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 leżą po przeciwnych stronach tej średniej
WHERE ____

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online SQL