Modul 1 · Studi kasus dan pemetaan ERD ke skema relasional
Latihan SQL: menjelajah skema Tahap 1
Sedang peninjauan: materi sedang ditelaah pengampu dan dapat berubah.
Kamu sedang melihat pratinjau. Masuk dan daftar ke kursus ini (gratis) agar kemajuanmu tersimpan dan kuis serta latihan dapat diperiksa.
MasukSetelah materi ini, kamu dapat:
- Membaca isi tabel dengan SELECT, WHERE, dan ORDER BY.
- Mengikuti kunci asing dari satu tabel ke tabel lain dengan JOIN.
Skema Tahap 1 sudah dibuat dan diisi data fiktif di peramban ini: 8 pegawai, 3 survei, 9 pertanyaan, 7 pengisian, dan 17 jawaban. Di latihan ini kamu membaca isinya, supaya kunci primer dan kunci asing yang tadinya hanya ada di diagram menjadi nyata. Membuat tabel sendiri dipelajari di Modul 3.
Cukup tiga bagian query
SELECT kolom1, kolom2 -- kolom yang ingin ditampilkan; * berarti semua kolom
FROM nama_tabel
WHERE syarat -- baris yang dipilih (boleh tidak ada)
ORDER BY kolom; -- urutan hasil (boleh tidak ada)
Contoh: nama dan unit kerja semua tenaga kependidikan, urut menurut nama.
SELECT nama, unit_kerja
FROM pegawai
WHERE kategori = 2
ORDER BY nama;
Teks ditulis di antara tanda kutip tunggal, misalnya WHERE unit_kerja = 'Biro Umum'. Beberapa syarat
digabung dengan AND atau OR.
Mengikuti kunci asing dengan JOIN
Tabel pengisian hanya menyimpan pegawai_id, bukan nama pegawai. Untuk menampilkan nama, ikuti kunci asing
itu ke tabel pegawai:
SELECT pegawai.nama, pengisian.status
FROM pengisian
JOIN pegawai ON pegawai.id = pengisian.pegawai_id
WHERE pengisian.survei_id = 1;
Bagian ON pegawai.id = pengisian.pegawai_id adalah kunci asing yang kamu gambar di ERD. JOIN dibahas
lengkap di Modul 4; untuk sekarang, cukup pahami bahwa kunci asing adalah "jembatan" antartabel.
Catatan SQLite
is_activedisimpan sebagai angka: 1 berarti aktif, 0 berarti tidak.- Tanggal disimpan sebagai teks berformat
YYYY-MM-DD, sehingga tetap dapat dibandingkan dan diurutkan. - Tekan Ctrl + Enter di kotak query untuk menjalankannya.
Latihan
"Jalankan" menjalankan query di peramban tanpa dinilai. "Periksa" mencocokkan hasilnya dengan yang diminta soal. Latihan selesai bila semua soal benar.
1. Tampilkan semua kolom dan semua baris tabel survei.
Petunjuk
Tanda * berarti semua kolom. Query ini tidak perlu WHERE.
2. Tampilkan kode_survei dan judul dari survei yang masih aktif.
Petunjuk
Survei aktif punya is_active = 1. Tampilkan dua kolom saja, dengan urutan kode_survei lalu judul.
3. Tampilkan nomor_urut dan teks_pertanyaan dari semua pertanyaan milik survei dengan id 2, diurutkan menurut nomor_urut.
Petunjuk
Kolom survei_id adalah kunci asing ke survei. Akhiri query dengan ORDER BY nomor_urut.
4. Tampilkan nip dan nama dosen (kategori 1) yang bernaung di Fakultas Teknik.
Petunjuk
Gabungkan dua syarat dengan AND. Nama unit ditulis persis 'Fakultas Teknik', dalam tanda kutip tunggal.
5. Ikuti kunci asing pegawai_id: tampilkan nama pegawai dan status pengisiannya untuk survei dengan id 2.
Petunjuk
Contohnya ada di bacaan di atas, untuk survei id 1. Ubah syarat WHERE-nya. Hasilnya tiga baris, salah satunya masih DRAFT.
6. Tampilkan response_token dan nilai_likert dari semua jawaban untuk pertanyaan dengan id 4. Perhatikan: dapatkah kamu mengetahui siapa yang menjawab hanya dari tabel jawaban?
Petunjuk
Tabel jawaban tidak punya kolom pegawai_id. Kolom yang diminta hanya response_token dan nilai_likert.