-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProject 1_Data Exploration.sql
More file actions
98 lines (84 loc) · 3.03 KB
/
Project 1_Data Exploration.sql
File metadata and controls
98 lines (84 loc) · 3.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
-- Data Exploration
-- 1. Membuka keseluruhan data
SELECT *
FROM world_layoffs.layoffs_staging2;
-- Menggunakan Command WHERE
-- 2. PHK dengan jumlah terbesar
SELECT MAX(total_laid_off)
FROM world_layoffs.layoffs_staging2;
-- 3. Melihat persentase PHK terbesar dan terkecil
SELECT MAX(percentage_laid_off), MIN(percentage_laid_off)
FROM world_layoffs.layoffs_staging2
WHERE percentage_laid_off IS NOT NULL;
-- PHK Terbesar adalah 1, artinya terdapat perusahaan yang 100% karyawan di PHK
-- 4. Melihat data dengan persentasi PHK 1 atau 100%
SELECT *
FROM world_layoffs.layoffs_staging2
WHERE percentage_laid_off = 1;
-- Sebagian besar adalah perusahaan startup
-- 5. melihat perusahaan dengan pendapatan yang telah berhasil dikumpulkan
-- menggunkan order by
SELECT *
FROM world_layoffs.layoffs_staging2
WHERE percentage_laid_off = 1
ORDER BY funds_raised_millions DESC; #mengurutkan dari terbesar
-- Command GROUP BY
-- 6. perusahaan yang melakukan PHK terbesar dalam satu waktu
SELECT company, total_laid_off
FROM world_layoffs.layoffs_staging
ORDER BY 2 DESC #Mengurutkan kolom kedua (total_laid_ofF)
LIMIT 5; #menampilkan 5 perusahaan teratas
-- 7. Menampilkan total PHK terbesar perusahaan
SELECT company, SUM(total_laid_off)
FROM world_layoffs.layoffs_staging2
GROUP BY company
ORDER BY 2 DESC #Mengurutkan kolom kedua (total_laid_ofF)
LIMIT 10; #menampilkan 10 perusahaan teratas
-- 8. Menampilkan total PHK terbesar berdasarkan lokasi perusahaan
SELECT location, SUM(total_laid_off)
FROM world_layoffs.layoffs_staging2
GROUP BY location
ORDER BY 2 DESC
LIMIT 10;
-- 9. Menampilkan total PHK terbesar berdasarkan Negara
SELECT country, SUM(total_laid_off)
FROM world_layoffs.layoffs_staging2
GROUP BY country
ORDER BY 2 DESC;
-- 10. Menampilkan total PHK terbesar berdasarkan Tahun
SELECT YEAR(date), SUM(total_laid_off)
FROM world_layoffs.layoffs_staging2
GROUP BY YEAR(date)
ORDER BY 1 DESC;
-- 11. Menampilkan total PHK terbesar berdasarkan Kategori Industri
SELECT industry, SUM(total_laid_off)
FROM world_layoffs.layoffs_staging2
GROUP BY industry
ORDER BY 2 DESC;
-- 12. Menampilkan total PHK terbesar berdasarkan stage
SELECT stage, SUM(total_laid_off)
FROM world_layoffs.layoffs_staging2
GROUP BY stage
ORDER BY 2 DESC;
-- Command Gabungan
-- 13. Menampilkan PHK perusahan berdasarkan tahun, dan menandai dengan ranking (1 = Terbesar dalam tahun tersebut, dst)
WITH Company_Year AS
(
SELECT company, YEAR(date) AS years, SUM(total_laid_off) AS total_laid_off
FROM world_layoffs.layoffs_staging2
GROUP BY company, YEAR(date)
)
, Company_Year_Rank AS (
SELECT company, years, total_laid_off, DENSE_RANK() OVER (PARTITION BY years ORDER BY total_laid_off DESC) AS ranking
FROM Company_Year
)
SELECT company, years, total_laid_off, ranking
FROM Company_Year_Rank
WHERE ranking <= 3
AND years IS NOT NULL
ORDER BY years ASC, total_laid_off DESC;
-- 14. Menampilkan total PHK tiap bulan
SELECT SUBSTRING(date,1,7) as dates, SUM(total_laid_off) AS total_laid_off
FROM world_layoffs.layoffs_staging2
GROUP BY dates
ORDER BY dates ASC; #Menampilkan dari tahun 2020