SELECT: Membaca Data dari Tabel

SELECT * dan memilih kolom tertentu, alias dengan AS, kolom hitungan, DISTINCT, serta urutan kerja SELECT di balik layar.

Part 6 dari 25 ± 30 menit Gratis

Analogi: SELECT itu seperti memesan dari menu restoran. Kamu tidak mengubah isi dapur, hanya meminta lauk (kolom) apa saja yang ingin disajikan di piringmu. SELECT * berarti "bawakan semuanya", sedangkan menyebut kolom berarti "hanya nasi dan ayamnya, tanpa sambal".

Menampilkan seluruh isi tabel

SELECT * FROM buku;

Tanda * berarti "semua kolom". Cocok untuk mengintip data, tetapi di aplikasi sungguhan sebaiknya sebut kolom yang dibutuhkan saja: lebih cepat dan lebih jelas.

Memilih kolom tertentu

SELECT judul, harga FROM buku;

Urutan kolom hasil mengikuti urutan yang kamu tulis, bukan urutan di tabel.

Alias: memberi nama pada kolom hasil

SELECT judul AS "Judul Buku", harga AS harga_normal FROM buku;

Alias yang mengandung spasi atau huruf besar harus diapit kutip ganda. Ingat aturan emas PostgreSQL: kutip tunggal untuk teks, kutip ganda untuk nama.

Kolom hasil hitungan

SELECT bisa menghitung langsung:

SELECT judul, harga, harga * 90 / 100 AS harga_diskon_10 FROM buku;
SELECT judul, harga * stok AS nilai_stok FROM buku;

Operator yang tersedia: + - * / dan % (sisa bagi). Hati-hati: di PostgreSQL bilangan bulat dibagi bilangan bulat menghasilkan bilangan bulat.

SELECT 7 / 2;        -- 3   (bukan 3.5!)
SELECT 7 / 2.0;      -- 3.5000000000000000
SELECT 7::numeric / 2;  -- 3.5000000000000000

Menggabungkan teks dengan ||

SELECT judul || ' oleh ' || penulis AS keterangan FROM buku;

Operator || menyambung teks. Jika salah satu bagian NULL, hasil seluruhnya NULL (nanti kita atasi dengan COALESCE).

DISTINCT: membuang duplikat

SELECT DISTINCT penulis FROM buku;

Tanpa DISTINCT, penulis "Tim Dongeng" muncul dua kali karena punya dua buku. Dengan DISTINCT, setiap penulis muncul sekali.

Urutan kerja SELECT (penting!)

Walau kita menulis SELECT di awal, database mengerjakannya dengan urutan: FROM (ambil tabel) → WHERE (saring baris) → GROUP BY → HAVING → SELECT (pilih/hitung kolom) → ORDER BY (urutkan) → LIMIT. Memahami urutan ini membantu kamu menebak kenapa suatu query error, misalnya alias dari SELECT belum bisa dipakai di WHERE.

Kasus nyata: daftar harga untuk kasir

Kasir hanya perlu judul dan harga, bukan seluruh kolom. Mengirim data berlebih memperlambat aplikasi di jaringan yang padat:

SELECT judul, harga FROM buku;

-- dengan alias agar mudah dibaca di laporan
SELECT judul AS "Judul Buku", harga * 90 / 100 AS "Harga Promo 10%" FROM buku;

Kesalahan yang sering terjadi

  • Memakai SELECT * di kode aplikasi produksi. Boros dan rawan rusak saat struktur tabel berubah.
  • Memakai alias SELECT di klausa WHERE. Alias belum "lahir" saat WHERE dijalankan (lihat urutan kerja di atas).
  • Lupa bahwa 7 / 2 menghasilkan 3. Ubah salah satu angka menjadi desimal atau gunakan ::numeric.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X