NAMA: Zidan Syahid Agrifasa
NIM : 607062400072
KELAS : D3IF 48-02
8.4 Latihan
Tabel Products. Hitung Product line dan harga rata-rata (buy price) untuk
masing-masing product line
tersebut, terurut secara descending, dengan hanya ada 2 digit pembulanan
dibelakang koma.
gunakan syntax berikut
SELECT productline, TRUNCATE(round(avg(buyPrice),2),2) AS "average price"
FROM products p
GROUP BY productline order BY productline asc
8.5 Jurnal Praktikum
Tabel Products. Hitung Product line, harga paling mahal dan paling murah
untuk masing-masing product line tersebut, terurut secara descending.
SELECT
productLine,
MAX(buyPrice) AS MAX_PRICE,
MIN(buyPrice) AS MIN_PRICE
FROM products
GROUP BY productLine
ORDER BY MAX_PRICE DESC;
MODUL 9
Fungsi NVL
Fungsi NVL NVL adalah fungsi dalam SQL yang digunakan untuk
menggantikan nilai NULL dengan nilai lain yang ditentukan. Ini sangat
berguna ketika ingin memastikan bahwa nilai NULL tidak mengganggu hasil
query.
SELECT NVL (salary,0) as gaji from employees;
Pada contoh diatas, nilai 0 pada kolom gaji merupakan nilai yang NULL dan
digantikan menjadi 0 agar tidak menganggu hasil dari query tersebut.
Fungsi NULLIF
NULLIF adalah fungsi yang mengembalikan NULL jika dua ekspresi yang
diberikan sama, dan mengembalikan nilai ekspresi pertama jika tidak sama.
Fungsi ini sering digunakan untuk menghindari pembagian dengan nol dalam
perhitungan.
SELECT NULLIF (salary,0) as gaji from employees;
jika gaji bernilai 0, fungsi ini akan mengembalikan NULL. Jika tidak, akan
mengembalikan nilai gaji.
9.4 Latihan
Tabel Order. Hitung rata-rata waktu penyelesaian Orders yaitu selisih
antara tanggal order dan tanggal pengiriman, data yang ditampilkan adalah
a. Order number b. Order date c. Shipped date d. Time completion
SELECT
orderNumber,orderDate, shippedDate,
DATEDIFF(shippedDate, orderDate) AS competionDays
FROM orders;
9.5 Jurnal Prakitkum
Hitung Product line dan Jumlah untuk masing-masing product line
tersebut, terurut secara ascending.
SELECT productLine, COUNT(*) AS jumlahProduk
FROM products
GROUP BY productLine
ORDER BY productLine ASC;
10.4 Latihan
Menggunakan classicmodels. Buatlah query untuk menghitung jumlah
pendapatan total setiap kota, terurut berdasar nama kota. Jumlah baris hasil
7
dikarenakan payments kemarin dihapus, maka programnya diubah dengan
syntax
SELECT
[Link],
SUM([Link] * [Link]) AS total_pendapatan
FROM orderdetails od
JOIN orders ord ON [Link] = [Link]
JOIN customers c ON [Link] = [Link]
JOIN employees e ON [Link] = [Link]
JOIN offices o ON [Link] = [Link]
GROUP BY [Link]
ORDER BY [Link];
10.5 Jurnal Prakikum
1. Buatlah query untuk mendapatkan daftar produk yang pernah dijual oleh
setiap karyawan beserta jumlahnya, terurut berdasar employeenumber dan
jumlah produk. Jumlah baris 1368, dengan data sebagai berikut.
SELECT
[Link],
[Link],
[Link],
[Link],
SUM([Link]) AS `Jumlah Produk`
FROM employees e
JOIN customers c ON [Link] = [Link]
JOIN orders o ON [Link] = [Link]
JOIN orderdetails od ON [Link] = [Link]
JOIN products p ON [Link] = [Link]
GROUP BY [Link], [Link]
ORDER BY [Link], `Jumlah Produk`;
2. Buatlah sebuah query untuk menghitung jumlah customer di setiap
negara dan jumlah total order ke negara tersebut terurut berdasarkan
jumlah.
SELECT
country,
COUNT(orderNumber) AS Jumlah_order
FROM customers
JOIN orders USING (customerNumber)
GROUP BY country
ORDER BY Jumlah_order DESC;
3. Buatlah sebuah query untuk menghitung berapa jumlah karyawan di
setiap kantor terurut berdasar negara dan kota. Hasil sebagai berikut
SELECT
[Link],
[Link],
COUNT([Link]) AS jumlah_karyawan
FROM offices o
LEFT JOIN employees e ON [Link] = [Link]
GROUP BY [Link], [Link]
ORDER BY [Link] ASC, [Link] ASC;