Lompat ke konten utama
←

SQL Lanjutan

Pelajaran 10 dari 18

CTE dan agregasi bertingkat

Menamai hasil antara dengan WITH

Setelah pelajaran ini kamu bisa memecah kueri panjang menjadi beberapa tahap bernama.

  • ±13 menit
  • 3 latihan
  • Diperiksa 22 Sep 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

WITH nama AS (SELECT ...) memberi nama pada hasil kueri sementara yang disebut common table expression atau CTE. Nama itu dipakai seperti tabel biasa di kueri utamanya, meski tidak ada tabel baru yang dibuat dan tidak ada yang tersimpan setelah kueri selesai. Beberapa CTE ditulis berurutan dengan dipisah koma, dan CTE yang belakangan boleh membaca hasil CTE di atasnya.

WITH elektronik AS (
  SELECT * FROM produk WHERE kategori = 'Elektronik'
)
SELECT nama, harga FROM elektronik WHERE harga > 70000;

CTE membuat kueri bertahap terbaca dari atas ke bawah: tahap pertama menyiapkan data, kueri utama memakainya. Kegunaannya paling terasa pada laporan yang menumpuk dua ringkasan. Rekap omzet bulanan yang hanya menampilkan bulan di atas seratus juta, misalnya, ditulis sebagai WITH bulanan AS (SELECT strftime('%Y-%m', tanggal) AS periode, SUM(nilai) AS total FROM faktur GROUP BY periode) SELECT periode, total FROM bulanan WHERE total > 100000000. Tanpa CTE, ringkasan itu harus ditulis dua kali di dalam satu kueri.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Lanjutkan ke

Tampilkan 4 lagi

Sebagian materi kelas ini diadaptasi dari Software Carpentry — Databases and SQL (sql-novice-survey) (CC-BY-4.0), Data Carpentry — SQL for Ecology (CC-BY-4.0), Kaggle learntools — Intro to SQL dan Advanced SQL (Apache-2.0), NUKnightLab — SQL Murder Mystery (CC-BY-SA-4.0).