Menu
CoddyTech

Ringkasan: Query WITH

Termasuk bagian Dasar-Dasar dalam perjalanan SQL di Coddy. Pelajaran 50 dari 72.

challenge icon

Tantangan

Mudah

Tabel dan kolom yang tersedia:

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

Kualitas perangkat diukur dengan (width/height)*num_features.

Kita ingin menemukan semua perangkat yang dinilai terlalu tinggi. Ambil semua perangkat yang opinion-nya lebih besar daripada kualitas rata-rata dan score perangkatnya lebih kecil daripada kualitas rata-rata. Kembalikan hanya device_id.

Untuk menyelesaikannya, gunakan klausa WITH untuk membuat subkueri yang menghitung kualitas rata-rata, lalu gunakan kembali subkueri itu dalam kueri utama.

Coba sendiri

-- Langkah 1: beri nama set hasil sementara yang berisi satu nilai rata-rata
WITH avg_quality AS (
    SELECT ____ AS avg_q
    FROM devices_specs
)
-- Langkah 2: gabungkan kedua tabel perangkat, lalu sertakan set hasil sementara
SELECT dsp.device_id
FROM devices_specs dsp
INNER JOIN devices_score dsc ON ____
INNER JOIN avg_quality aq
-- Langkah 3: pilih perangkat yang berada di sisi berlawanan dari nilai rata-rata tersebut
WHERE ____

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground SQL