Latar Belakang: Toko "Adinda berkah makmur" baru saja mengimplementasikan sistem database db_toko yang berisi tabel users (untuk data admin/staff) dan pelanggan. Anda ditunjuk sebagai Database Administrator (DBA) untuk menyelesaikan beberapa permintaan dari Manajer Toko terkait manipulasi dan pelaporan data. Struktur Tabel Saat Ini:
- users (id_user, username, password, role, created_at)
- pelanggan (id_pelanggan, nama_pelanggan, email, no_telp, alamat, id_user, created_at)
- Selesaikan masalah (kasus) di bawah ini dengan menuliskan query SQL yang tepat!
- Karyawan Baru (Fokus: INSERT) Toko baru saja merekrut staff baru bernama "Rina" (username: staff_rina, password: hashed_123, role: Staff). Di hari pertamanya, Rina langsung mendaftarkan seorang pelanggan VIP bernama "Bapak Hendra", dengan email hendra@email.com, nomor telepon 081999888777, beralamat di "Jl. Anggrek No. 12, Surabaya". Tugas: Tuliskan dua query SQL untuk menambahkan data Rina ke tabel users, dan data Bapak Hendra ke tabel pelanggan (asumsikan Rina mendapat id_user = 3).
- Perubahan Data (Fokus: UPDATE) Pelanggan dengan id_pelanggan = 5 menelpon ke toko dan menginformasikan bahwa ia telah mengganti nomor teleponnya menjadi 08555444333 dan pindah alamat ke "Perumahan Hijau Blok B, Bandung". Tugas: Tuliskan query SQL untuk memperbarui data pelanggan tersebut di database!
- Pencarian Spesifik (Fokus: IN) Manajer ingin memberikan bonus bulanan kepada 3 karyawan terbaik bulan ini, yaitu karyawan dengan id_user 1, 3, dan 4. Manajer meminta Anda untuk menampilkan semua data pelanggan yang didaftarkan oleh ketiga karyawan tersebut saja. Tugas: Tuliskan query SQL menggunakan operator IN untuk mendapatkan data tersebut!
- Laporan Akhir Bulan (Fokus: BETWEEN) Tim marketing membutuhkan daftar nama dan email pelanggan yang mendaftar pada minggu pertama bulan Agustus 2026 (antara tanggal 1 Agustus 2026 hingga 7 Agustus 2026) untuk dikirimkan email promosi. Tugas: Tuliskan query SQL menggunakan operator BETWEEN untuk menarik data tersebut!
- Audit Data (Fokus: LEFT JOIN & IS NULL) Bulan lalu, seorang staff bernama "Joko" diberhentikan dan datanya dihapus dari tabel users. Karena kita menggunakan sistem ON DELETE SET NULL, semua pelanggan yang didaftarkan Joko sekarang tidak memiliki penanggung jawab (nilai id_user menjadi NULL). Manajer ingin melihat daftar semua pelanggan beserta nama staff yang mendaftarkannya (jika ada). Tugas: Tuliskan query SQL menggunakan klausa JOIN yang tepat agar pelanggan tanpa staff penanggung jawab tetap muncul dalam laporan!