SQL For Data Analyst
SQL For Data Analyst
Fungsi agregat melakukan operasi pada sekumpulan nilai dan mengembalikan satu nilai Fungsi-
fungsi agregat di SQL antara lain: COUNT, SUM, MIN, MAX, AVG
§ COUNT Menghitung banyaknya data. Menggabungkan COUNT dengan DISTINCT digunakan untuk menghitung banyaknya
data yang berbeda
§ MIN Menghitung nilai minimum
§ MAX Menghitung nilai maksimum
§ SUM Menghitung jumlah
§ AVG Menghitung rata-rata
SQL Query
SELECT
COUNT(*) AS “Banyak baris”,
COUNT DISTINCT “Order ID” AS “Banyak order”, MIN(“Order Date”) AS “Tanggal awal”,
MAX(“Order Date”) AS “Tanggal akhir”, SUM(“Profit”) AS “Total profit”, AVG(“Sales”) AS “Rerata sales”
FROM transactions
#RintisKarirImpian
Course Summary
2 GROUP BY
SQL Query
SELECT “Segment”,
COUNT(DISTINCT “Order ID”) AS “Banyak order”,
FROM transactions
GROUP BY “Segment”
#RintisKarirImpian
Course Summary
3 HAVING
SQL Query
#RintisKarirImpian
Course Summary
4 JOIN
§ INNER JOIN : Returns records that have matching values in both tables
§ LEFT JOIN : Returns all records from the left table, and the matched records from the right table
§ RIGHT JOIN : Returns all records from the right table, and the matched records from the left table
§ FULL JOIN : Returns all records when there is a match in either left or right table
#RintisKarirImpian
#RintisKarirImpian
Case 1
1. Kalian pastikan bahwa satu nama konsumen hanya memiliki satu customer id!
2. Produk (product_name) apa yang paling best selling
3. Produk apa yang paling merugikan selama tahun 2017
Kalian pastikan bahwa satu nama konsumen hanya memiliki satu customer id
SQL Query
select customer_name,customer_id,
count(distinct order_id) as jumlah_order
from t_order
group by customer_name, customer_id
having count(distinct customer_id) = 1
order by customer_name asc
SELECT
(Menampilkan kolom yang diinginkan)
COUNT(DISTINCT ORDER_ID) AS banyak_order
(Menghitung banyaknya data yang berbeda)
FROM t_order
(Mengambil data dari tabel t_order)
GROUP BY
(Mengelompokkan data)
HAVING COUNT(DISTINCT CUSTOMER_ID) = 1
(Menggabungkan fungsi agregat)
ORDER BY … ASC
(Mengelompokkan data)
#RintisKarirImpian
Produk (product_name) apa yang paling best selling
SQL Query
select product_name,
count(distinct order_id) as banyak_order
from t_order
group by product_name
order by banyak_order desc
SELECT
(Menampilkan kolom yang diinginkan)
COUNT(DISTINCT ORDER_ID) AS banyak_order
(Menghitung banyaknya data yang berbeda)
FROM t_order
(Mengambil data dari tabel t_order)
GROUP BY
(Mengelompokkan data)
ORDER BY …. DESC
(Menampilkan data order yang best selling)
#RintisKarirImpian
Produk apa yang paling merugikan selama tahun 2017
SQL Query
select product_name,profit,order_date
from t_order
where extract(year from order_date) = 2017
order by profit asc
SELECT
(Menampilkan kolom yang diinginkan)
FROM t_order
(Mengambil data dari tabel t_order)
WHERE EXTRACT (YEAR FROM order_date) = 2017
(Menampilkan data di tahun 2017)
ORDER BY …. DESC
(Menampilkan data profit dari yang paling merugikan)
#RintisKarirImpian
Follow me!
Instagram : @avif_maruf & @Swakarya35
LinkedIn : www.linkedin.com/in/afif-ma-ruf
Mail : [email protected]