Membaca Data — SQL

Perintah SELECT digunakan untuk mengambil data dari tabel. Mengambil semua kolom: SELECT * FROM users; Mengambil kolom tertentu: SELECT name, email FROM…

SELECT adalah cara membaca data dari tabel. Kamu menyebut kolom mana yang mau diambil dan dari tabel mana, lalu database menjawab dengan tabel hasil. Bayangin minta fotokopi ke petugas TU: "tolong fotokopikan kolom nama dan kota dari buku induk". Kamu dapat lembar baru berisi dua kolom itu untuk semua siswa, dan buku induknya sendiri gak berubah sama sekali.

🧪 Tebakan cepat: SELECT name city FROM students; (koma di antara name dan city lupa ditulis). Hasilnya apa? Tebak dulu, jawabannya ada di bagian "Alias dengan AS".

SELECT dan FROM

Tabel students sekarang berisi 5 siswa. Dewi, Rizky dan Maya dari pelajaran sebelumnya, ditambah Andi dan Budi:

SELECT * FROM students;
id name grade city
1 Dewi 90 Jakarta
2 Rizky 85 Bandung
3 Maya 92 Surabaya
4 Andi 90 Jakarta
5 Budi 88 Bandung

Butuh nama dan kota saja? Sebut kolomnya, dipisah koma:

SELECT name, city FROM students;
name city
Dewi Jakarta
Rizky Bandung
Maya Surabaya
Andi Jakarta
Budi Bandung

Alias dengan AS

AS memberi kolom hasil judul baru:

SELECT name AS nama, city AS kota FROM students;
nama kota
Dewi Jakarta
Rizky Bandung
Maya Surabaya
Andi Jakarta
Budi Bandung

Kata AS sebenarnya boleh dihilangkan: name nama juga berarti alias. Itu sebabnya koma yang lupa ditulis gak bikin error. SELECT name city FROM students; dibaca "kolom name, dengan judul city". Hasilnya satu kolom berjudul city yang isinya nama-nama siswa. Itu jawaban tebakannya.

DISTINCT: buang baris kembar

SELECT city FROM students;

menghasilkan 5 baris: Jakarta, Bandung, Surabaya, Jakarta, Bandung. Pakai DISTINCT untuk membuang yang kembar:

SELECT DISTINCT city FROM students;
city
Jakarta
Bandung
Surabaya

5 baris jadi 3. DISTINCT ditulis tepat setelah SELECT dan berlaku untuk seluruh baris hasil, bukan satu kolom: SELECT DISTINCT name, city tetap 5 baris, karena gak ada dua siswa dengan nama dan kota yang sama.

⚠️ Jebakan yang sering ketemu

TL;DR: SELECT kolom1, kolom2 FROM tabel; membaca kolom yang kamu sebut dari semua baris; * artinya semua kolom. AS memberi judul baru di hasil (name AS nama) tanpa mengubah tabelnya, dan tanpa koma, kata berikutnya juga dibaca sebagai alias. DISTINCT membuang baris hasil yang persis sama: SELECT DISTINCT city memberi 3 kota dari 5 siswa.

Yang akan kamu pelajari