SQLite - SELECT Query
Hai there, para para database wizard masa depan! Hari ini, kita bakal masuk ke dunia magical SQLite dan jelajahi kuasa SELECT query. Jangan khawatir jika kamu belum pernah menulis satu baris kode sebelumnya - saya bakal jadi panduannya yang ramah dalam petualangan ini. Pada akhir pelajaran ini, kamu bakal bisa query database seperti seorang pro!
Mengerti Dasar-dasar
Sebelum kita masuk ke hal yang detail, mari kita mengerti apa yang dilakukan query SELECT. Bayangkan kamu punya sebuah peti harta yang penuh informasi (itu adalah database kamu), dan kamu ingin mencari item tertentu. Query SELECT adalah seperti peta harta kamu - itu membantu kamu menemukan dan mengambil tepat apa yang kamu cari.
Query SELECT Pertamamu
Mari kita mulai dengan contoh sederhana. Misal kita punya tabel bernama students
dengan kolom id
, name
, dan age
. Berikut cara kita mengambil semua informasi dari tabel ini:
SELECT * FROM students;
Query ini memberitahu SQLite: "Hey, berikan saya semua (*) dari tabel students." Itu seperti mengatakan, "Buka peti harta dan perlihatkan saya semua kesukaannya!"
Memilih Kolom Tertentu
Sekarang, apa bila kita hanya ingin melihat nama murid-murid kita? Kita bisa lebih spesifik:
SELECT name FROM students;
Query ini seperti mengatakan, "Saya hanya ingin melihat name tag di peti harta, tolong!"
Menambahkan Kondisi dengan WHERE
kadang-kadang, kita ingin lebih selektif. Misal kita ingin menemukan semua murid berusia 18 tahun:
SELECT * FROM students WHERE age = 18;
Query ini menambahkan sebuah kondisi. Itu seperti mengatakan kepada asistenmu, "Temukan semua item di peti yang milik 18 tahunan."
Teknik SELECT Lanjut
Mengurutkan Hasil
Ingin melihat hasil dalam urutan tertentu? Tak masalah! Mari kita daftar murid dari yang paling muda ke paling tua:
SELECT * FROM students ORDER BY age ASC;
ASC berarti menaik. Jika kamu ingin membalik urutan, kamu akan menggunakan DESC (menurun).
Batasi Hasil
kadang-kadang, kita hanya ingin melihat beberapa hasil. Mungkin kita hanya tertarik pada 5 murid paling tua:
SELECT * FROM students ORDER BY age DESC LIMIT 5;
Query ini menggabungkan pengurutan dan pembatasan. Itu seperti mengatakan, "Perlihatkan saya 5 harta tertua di peti."
Menyetting Lebar Kolom Output
Ketika bekerja dengan SQLite di terminal atau antarmuka perintah, kamu mungkin mendapat output yang tampak sedikit kacau. Jangan takut! Kita bisa menata hal itu dengan menyetting lebar kolom.
Berikut cara kamu bisa melakukannya:
.width 10 20 5
SELECT id, name, age FROM students;
Ini menyetting lebar kolom pertama ke 10 karakter, kedua ke 20, dan ketiga ke 5. Itu seperti mengatur peti harta agar semua sesuai rapi!
Informasi Skema
kadang-kadang, kamu mungkin lupa apa saja harta (kolom) yang ada di peti (tabel) kamu. SQLite punya perintah yang praktis untuk ini:
.schema students
Ini akan menampilkan struktur tabel kamu, termasuk semua kolom dan tipe mereka. Itu seperti memiliki peta peti harta!
Menggabungkan Semua Konsep
Mari kita gabungkan beberapa konsep ini ke dalam query yang lebih kompleks:
SELECT name, age
FROM students
WHERE age > 18
ORDER BY name ASC
LIMIT 10;
Query ini mengatakan: "Perlihatkan saya nama dan umur murid yang lebih dari 18 tahun, diurutkan berdasarkan nama, tapi hanya 10 pertama."
Metode SELECT Umum SQLite
Berikut adalah tabel metode SELECT umum SQLite untuk referensi cepat:
Metode | Deskripsi | Contoh |
---|---|---|
SELECT | Mengambil data dari satu atau lebih tabel | SELECT * FROM table_name; |
WHERE | Menyaring rekord berdasarkan kondisi | SELECT * FROM table_name WHERE condition; |
ORDER BY | Mengurutkan hasil | SELECT * FROM table_name ORDER BY column_name; |
LIMIT | Menentukan jumlah maksimum baris yang dikembalikan | SELECT * FROM table_name LIMIT number; |
DISTINCT | Mengembalikan hanya nilai yang berbeda | SELECT DISTINCT column_name FROM table_name; |
GROUP BY | Mengelompokkan baris yang memiliki nilai yang sama | SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name; |
HAVING | Menentukan kondisi pencarian untuk grup | SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > value; |
JOIN | Menggabungkan baris dari dua atau lebih tabel | SELECT * FROM table1 JOIN table2 ON table1.column_name = table2.column_name; |
Ingat, latihan membuat sempurna! Jangan khawatir untuk mencoba query ini. Setiap kali kamu menjalankan query, kamu menjadi semakin baik dalam mengnavigasi data peti harta kamu.
Dalam tahun-tahun mengajar saya, saya menemukan bahwa cara terbaik untuk belajar SQLite adalah dengan melakukan. Jadi, ini adalah tugas kecil untukmu: Buat database kecil tentang buku atau film kesukaanmu, dan cobalah menulis query untuk menemukan informasi menarik tentang mereka. Kamu mungkin akan mengejutkan dirimu sendiri dengan apa yang kamu temukan!
Selamat menquery, para penjelajah data masa depan! Ingat, setiap administrator database yang hebat dimulai tepat di tempat kamu sekarang. Terus latih, tetap curiga, dan segera kamu akan menjadi master domain data kamu!
Credits: Image by storyset