Lompat ke konten utama

Ajak teman, raih Rp1.000.000. Ikut kompetisi

Contekan · 15 lembar · 508 baris

Rumus, pintasan, dan perintah yang paling sering dipakai

Tiap baris menaut ke pelajaran yang melatihnya. Buka satu lembar untuk mencetaknya dan menempelnya di samping layar.

38 baris · “Latih” membuka latihannya

  • Mengambil kolom

    SELECT * FROM tabel

    Mengambil semua kolom dan semua baris satu tabel.SELECT * FROM produk;

    Latih: SELECT: mengambil isi tabel
  • SELECT kolom1, kolom2

    Mengambil kolom tertentu saja; urutan kolom di hasil mengikuti urutan penulisannya.SELECT nama, kota FROM pelanggan;

    Latih: Memilih kolom tertentu
  • AS

    Memberi nama lain pada kolom hasil. Nama kolom di tabel asalnya tidak berubah.SELECT nama AS pelanggan FROM pelanggan;

    Latih: Mengganti nama kolom dengan AS
  • DISTINCT

    Membuang baris hasil yang sama persis. Yang dibandingkan seluruh baris hasil, bukan satu kolom saja.SELECT DISTINCT status FROM pesanan;

    Latih: DISTINCT dan LIMIT
  • LIMIT n

    Membatasi jumlah baris yang dikembalikan; ditulis paling akhir.SELECT * FROM produk LIMIT 3;

    Latih: DISTINCT dan LIMIT
  • Menyaring baris

    WHERE = <> < > <= >=

    Menyisakan baris yang syaratnya benar. Angka ditulis tanpa pemisah ribuan.SELECT nama, stok FROM produk WHERE stok < 50;

    Latih: WHERE dengan perbandingan
  • AND / OR

    AND menuntut semua syarat, OR cukup salah satunya. AND diperiksa lebih dulu; tanda kurung memaksa urutan lain.WHERE kota = 'Jakarta' OR kota = 'Bandung'

    Latih: Teks, AND, dan OR
  • LIKE

    Mencocokkan pola teks: % berarti nol karakter atau lebih, _ tepat satu karakter.WHERE nama LIKE 'Pulpen%'

    Latih: LIKE dan IN
  • IN (…)

    Benar bila nilainya sama dengan salah satu isi daftar; pengganti beberapa = yang digabung OR.WHERE kota IN ('Medan', 'Makassar')

    Latih: LIKE dan IN
  • BETWEEN a AND b

    Rentang nilai dengan kedua batas ikut terhitung. Batas kecil ditulis lebih dulu, atau hasilnya kosong.WHERE stok BETWEEN 20 AND 60

    Latih: BETWEEN dan IS NULL
  • IS NULL / IS NOT NULL

    Memeriksa sel yang belum terisi. Syarat = NULL tidak pernah benar, sehingga hasilnya selalu kosong.WHERE kota IS NULL

    Latih: NULL: nilai yang belum ada
  • Mengurutkan dan meringkas

    ORDER BY … DESC

    Mengurutkan hasil. ASC (kecil ke besar) berlaku bila arahnya tidak ditulis; DESC dari besar ke kecil.ORDER BY stok DESC

    Latih: Mengurutkan dengan ORDER BY
  • ORDER BY a ASC, b DESC

    Kolom kedua hanya mengurutkan baris yang nilai kolom pertamanya sama. Tiap kolom punya arahnya sendiri.ORDER BY kota ASC, nama DESC

    Latih: ORDER BY dengan dua kolom
  • COUNT / SUM / AVG / MIN / MAX

    Meringkas banyak baris menjadi satu nilai. Tanpa GROUP BY, hasilnya selalu satu baris.SELECT MIN(harga), MAX(harga), AVG(harga) FROM produk;

    Latih: COUNT, SUM, AVG, MIN, MAX
  • COUNT(*) vs COUNT(kolom)

    COUNT(*) menghitung semua baris; COUNT(kolom) hanya yang kolomnya terisi. Selisihnya adalah jumlah sel kosong.SELECT COUNT(*) AS baris, COUNT(kota) AS kota_terisi FROM pelanggan;

    Latih: Agregat pada kolom yang ada kosongnya
  • GROUP BY

    Memecah baris menjadi kelompok dan menghitung agregat per kelompok: satu baris hasil per kelompok.SELECT kota, COUNT(*) FROM pelanggan GROUP BY kota;

    Latih: Mengelompokkan dengan GROUP BY
  • HAVING

    Menyaring kelompok sesudah agregatnya dihitung; WHERE menyaring baris sebelum dikelompokkan.GROUP BY kota HAVING COUNT(*) >= 2

    Latih: Menyaring kelompok dengan HAVING
  • Menggabungkan tabel

    JOIN … ON

    Memasangkan baris dua tabel menurut syarat ON. JOIN tanpa keterangan berarti INNER JOIN: baris tanpa pasangan tidak ikut.FROM pesanan JOIN pelanggan ON pelanggan.id = pesanan.pelanggan_id

    Latih: INNER JOIN
  • FROM tabel AS t

    Alias tabel: nama pendek yang berlaku selama kueri. Dua alias untuk satu tabel menghasilkan self-join.FROM produk AS a JOIN produk AS b ON b.kategori = a.kategori AND b.harga > a.harga

    Latih: Alias tabel dan self-join
  • LEFT JOIN

    Menahan semua baris tabel kiri dan mengisi kolom tabel kanan dengan NULL bila pasangannya tidak ada — jawaban untuk pertanyaan "mana yang belum pernah".FROM produk LEFT JOIN detail_pesanan ON detail_pesanan.produk_id = produk.id

    Latih: LEFT JOIN
  • UNION ALL

    Menumpuk hasil beberapa SELECT berkolom sama menjadi satu; di SQLite dipakai sebagai padanan ROLLUP untuk subtotal dan total.

    Latih: Subtotal dan total ala ROLLUP
  • INSERT INTO … SELECT

    Menyisipkan hasil sebuah SELECT ke tabel lain, misalnya baris staging yang belum ada di tabel dimensi.

    Latih: ETL: staging, transformasi, dan INSERT…SELECT
  • Logika, subkueri, dan CTE

    COALESCE(a, b, …)

    Nilai pertama yang tidak NULL dari kiri; dipakai menulis keterangan pengganti untuk sel kosong.COALESCE(kota, 'Tidak diisi') AS kota

    Latih: Mengganti NULL dengan COALESCE
  • CASE WHEN … THEN … ELSE … END

    Mengubah nilai menjadi kategori. Syarat diperiksa dari atas dan berhenti di yang pertama benar; ELSE untuk sisanya.CASE WHEN jumlah >= 20 THEN 'grosir' WHEN jumlah >= 5 THEN 'partai' ELSE 'eceran' END

    Latih: Membuat kategori dengan CASE
  • SUM(CASE WHEN … THEN 1 ELSE 0 END)

    Hitungan bersyarat sebagai kolom: beberapa kategori muncul berdampingan dalam satu baris hasil.SUM(CASE WHEN status = 'batal' THEN 1 ELSE 0 END) AS batal

    Latih: Menghitung bersyarat dengan CASE
  • WHERE x IN (SELECT …)

    Subkueri yang menghasilkan daftar nilai sebagai syarat. NOT IN membalik pertanyaannya menjadi "yang belum".WHERE id IN (SELECT produk_id FROM detail_pesanan WHERE pesanan_id = 3)

    Latih: Subkueri dengan IN
  • WHERE x < (SELECT AVG(x) …)

    Subkueri skalar: satu nilai ringkasan yang dibandingkan dengan setiap baris dan dihitung ulang tiap kueri dijalankan.WHERE stok < (SELECT AVG(stok) FROM produk)

    Latih: Subkueri yang menghasilkan satu nilai
  • WITH nama AS (…)

    CTE: hasil antara bernama yang dipakai seperti tabel di kueri utamanya. Beberapa CTE dipisah koma.WITH elektronik AS (SELECT * FROM produk WHERE kategori = 'Elektronik') SELECT nama FROM elektronik;

    Latih: Menamai hasil antara dengan WITH
  • Fungsi SQLite

    date(tanggal, '+7 day')

    Tanggal baru dari tanggal lama: '+1 month' menambah sebulan, 'start of month' mundur ke tanggal satu.SELECT date(tanggal, '+7 day') AS jatuh_tempo FROM pesanan;

    Latih: Fungsi tanggal SQLite
  • strftime('%Y-%m', tanggal)

    Bagian tanggal sebagai teks: %Y tahun, %m bulan dua digit, %d tanggal. '%Y-%m' menjadi kolom periode untuk rekap bulanan.

    Latih: Fungsi tanggal SQLite
  • upper / lower / substr / length

    Menyeragamkan huruf, mengambil potongan teks (posisi pertama bernomor 1), dan menghitung panjangnya.SELECT substr(nama, 1, 1) AS inisial FROM pelanggan;

    Latih: Fungsi teks dan angka SQLite
  • round(x, n) / printf()

    Membulatkan ke n angka di belakang koma, dan menyusun teks berformat seperti label Rupiah.SELECT printf('Rp%d', harga) AS label FROM produk;

    Latih: Fungsi teks dan angka SQLite
  • Window function

    ROW_NUMBER() OVER (PARTITION BY … ORDER BY …)

    Nomor urut 1, 2, 3 di dalam tiap kelompok PARTITION BY, menurut ORDER BY di dalam kurungnya.ROW_NUMBER() OVER (PARTITION BY kelas ORDER BY skor DESC)

    Latih: Peringkat dengan ROW_NUMBER, RANK, dan NTILE
  • RANK() / DENSE_RANK()

    Peringkat yang memberi nilai kembar nomor sama. RANK melompati nomor sesudah nilai kembar; DENSE_RANK tidak.

    Latih: Peringkat dengan ROW_NUMBER, RANK, dan NTILE
  • NTILE(n)

    Membagi baris yang sudah diurutkan menjadi n kelompok berukuran hampir sama, misalnya segmen pelanggan.

    Latih: Peringkat dengan ROW_NUMBER, RANK, dan NTILE
  • LAG() / LEAD()

    Nilai dari baris sebelum atau sesudahnya menurut ORDER BY. Baris pertama tidak punya pendahulu, jadi LAG di sana NULL.derajat - LAG(derajat) OVER (PARTITION BY kota ORDER BY tanggal) AS perubahan

    Latih: Membandingkan dengan baris sebelumnya: LAG dan LEAD
  • SUM() OVER (ORDER BY …)

    Total berjalan: jumlah dari baris pertama sampai baris yang sedang dihitung. OVER () kosong memberi total keseluruhan di setiap baris.SUM(masuk) OVER (ORDER BY tanggal) AS saldo

    Latih: Total berjalan dan rata-rata bergerak
  • ROWS BETWEEN 2 PRECEDING AND CURRENT ROW

    Frame: dua baris sebelumnya ditambah baris ini — dasar rata-rata bergerak tiga baris.AVG(masuk) OVER (ORDER BY tanggal ROWS BETWEEN 2 PRECEDING AND CURRENT ROW)

    Latih: Total berjalan dan rata-rata bergerak

© 2026 KelasGratis. Seluruh hak cipta dilindungi undang-undang. Syarat & hak cipta