Soal SMA · Penerapan · Kesulitan 3/5
Sebuah perusahaan e-commerce menyimpan data transaksi dalam tabel relasional. Tabel Pesanan memiliki kolom: id_pesanan (PK), id_pelanggan (FK), tanggal, total. Tabel Pelanggan memiliki kolom: id_pelanggan (PK), nama, kota. Manajemen ingin menampilkan nama pelanggan dan total belanja mereka untuk pesanan yang dilakukan pada bulan Januari 2024, diurutkan dari total terbesar. Query SQL yang benar adalah ...
- A.SELECT P.nama, O.total FROM Pelanggan P JOIN Pesanan O ON P.id_pelanggan = O.id_pelanggan WHERE O.tanggal BETWEEN '2024-01-01' AND '2024-01-31' ORDER BY O.total DESC;
- B.SELECT nama, total FROM Pelanggan, Pesanan WHERE Pelanggan.id_pelanggan = Pesanan.id_pelanggan AND MONTH(tanggal) = 1 AND YEAR(tanggal) = 2024 ORDER BY total;
- C.SELECT P.nama, SUM(O.total) FROM Pelanggan P JOIN Pesanan O ON P.id_pelanggan = O.id_pelanggan WHERE O.tanggal ≥ '2024-01-01' AND O.tanggal ≤ '2024-01-31' GROUP BY P.nama ORDER BY SUM(O.total) DESC;
- D.SELECT P.nama, O.total FROM Pelanggan P, Pesanan O WHERE P.id_pelanggan = O.id_pelanggan AND O.tanggal LIKE '2024-01%' ORDER BY O.total ASC;
Kunci jawaban & pembahasan
Jawaban: SELECT P.nama, O.total FROM Pelanggan P JOIN Pesanan O ON P.id_pelanggan = O.id_pelanggan WHERE O.tanggal BETWEEN '2024-01-01' AND '2024-01-31' ORDER BY O.total DESC;
Query yang benar harus menggabungkan tabel Pelanggan dan Pesanan berdasarkan id_pelanggan, memfilter tanggal di Januari 2024, dan mengurutkan total secara menurun. Opsi A memenuhi semua kriteria tanpa agregasi yang tidak diminta.
Mau penjelasan yang menyesuaikan level anak?
Xinau AI membahas soal langkah demi langkah, menyesuaikan gaya bahasa dengan usia anak, dan menyusun latihan berikutnya berdasarkan jawaban sebelumnya.
Coba gratis 30 hari