Anda di halaman 1dari 8

Soal SQL

Instruksi:
Anda harus mengguakan query untuk menghasilkan enam buah daftar sebagaimana diuraikan di
bawah ini.

Impor dahulu database soal (File Data Soal northwinddata.sql) ke dalam MySQL dengan
menggunakan:

1. Menu File  Run SQL File pada Heidi SQL atau


2. Menu File  Import pada Sequel Pro.

Buatlah perintah Query untuk Laporan-laporan berikut ini (dengan Hasil Laporan seperti gambar)

Referensi bantuan untuk perintah SQL:

a. www.w3schools.com/mysql/default.asp
b. www.mysqltutorial.org

1. Hitung banyaknya transaksi pesanan penjualan per tahun.

Hasil: 3 baris dan 2 kolom

2. Jumlahkan total nilai pesanan penjualan berdasarkan produk, urutkan berdasarkan Nilai Total
Pesanan Penjualan

Hasil: 2 baris dan 2 kolom

3. Cari 5 pelanggan dengan pesanan terbesar, urutkan berdasarkan nilai pesanan terbesar.
Petunjuk, untuk menghasilkan 5 data terbesar, urutkan secara menurun dan tambahkan
perintah berikut ini di baris terakhir perintah SQL yang kamu bat:
Limit 5

Hasil: 5 baris dan 2 kolom

4. Cari 5 pelanggan dengan pesanan terbesar untuk tahun 1996. Urutkan berdasarkan nilai
pesanan terbesar.
Petunjuk, untuk menghasilkan 5 data terbesar, urutkan secara menurun dan tambahkan
perintah berikut ini di baris terakhir perintah SQL yang kamu buat:
Limit 5

Hasil: 5 baris dan 3 kolom

5. Cari 10 produk dengan nilai pesanan terbesar untuk customer_id QUICK. Urutkan berdasarkan
Nilai pesanan secara menurun.

Hasil: 10 baris dan 2 kolom


Contoh Jawaban:
Mencari Total Penjualan per pelanggan dan jenis penjualannya
a. Perintah Query
SELECT
kode_plg, jenis_sales, SUM(total_sales)
FROM deliveryorder_master
GROUP BY kode_plg, jenis_sales;

b. Screenshot (Full Screen)


JAWABAN:

1. Banyaknya transaksi pesanan penjualan per tahun


a. Perintah SQL (tuliskan perintah SQL-nya):
b. select
c. year(o.order_date) as 'Tahun',
d. count(o.order_id) as 'Frekuensi Transaksi'
e. from northwind.orders o
f. group by year(o.order_date)
g.

h. Screenshot hasil query (Full Screen)

2. Total nilai pesanan penjualan berdasarkan produk


a. Perintah SQL (tuliskan perintah SQL-nya):
select
od.product_id,
round(sum(od.quantity * (od.unit_price - (od.unit_price * od.discount))),0)
as 'Total Penjualan'
from northwind.order_details od
group by od.product_id
order by sum(od.unit_price * od.quantity) desc

b. Screenshot hasil query (Full Screen)


3. Lima (5) pelanggan dengan pesanan terbesar.
a. Perintah SQL (tuliskan perintah SQL-nya):
SELECT orders.customer_id AS 'customer_id',
ROUND(SUM(order_details.quantity * (order_details.unit_price -
(order_details.unit_price * order_details.discount))), 0) AS 'Total
Penjualan'
FROM order_details JOIN orders ON orders.order_id =
order_details.order_id
GROUP BY orders.customer_id
ORDER BY ROUND(SUM(order_details.quantity * (order_details.unit_price -
(order_details.unit_price * order_details.discount))), 0) DESC
LIMIT 5

b. Screenshot hasil query (Full Screen)


4. Lima (5) pelanggan dengan pesanan terbesar untuk tahun 1996.
a. Perintah SQL (tuliskan perintah SQL-nya):
SELECT MAX(YEAR(orders.order_date)) AS 'TAHUN', orders.customer_id AS
'customer_id',
ROUND(SUM(order_details.quantity * (order_details.unit_price -
(order_details.unit_price * order_details.discount))), 0) AS 'Total
Penjualan'
FROM order_details JOIN orders ON orders.order_id =
order_details.order_id
WHERE YEAR(orders.order_date) = '1996'
GROUP BY orders.customer_id
ORDER BY ROUND(SUM(order_details.quantity * (order_details.unit_price -
(order_details.unit_price * order_details.discount))), 0) DESC
LIMIT 5

b. Screenshot hasil query (Full Screen)


5. Sepuluh (10) produk dengan nilai pesanan terbesar untuk customer_id QUICK
a. Perintah SQL (tuliskan perintah SQL-nya):
SELECT order_details.product_id AS 'product_id',
ROUND(SUM(order_details.quantity * (order_details.unit_price -
(order_details.unit_price * order_details.discount))), 0) AS 'Nilai
Pesanan'
FROM order_details JOIN orders ON orders.order_id =
order_details.order_id
WHERE orders.customer_id = 'QUICK'
GROUP BY order_details.product_id
ORDER BY ROUND(SUM(order_details.quantity * (order_details.unit_price -
(order_details.unit_price * order_details.discount))), 0) DESC
LIMIT 10

b. Screenshot hasil query (Full Screen)

Anda mungkin juga menyukai