-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathData_exploration_1.sql
More file actions
174 lines (147 loc) · 6.15 KB
/
Data_exploration_1.sql
File metadata and controls
174 lines (147 loc) · 6.15 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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
SELECT *
FROM Portfolio_projects.dbo.CovidDeaths
ORDER BY 3,4 DESC;
SELECT *
FROM Portfolio_projects.dbo.CovidVaccinations
ORDER BY 3,4 DESC;
SELECT location, date,total_cases,total_deaths, population
FROM Portfolio_projects.dbo.CovidDeaths
ORDER BY 1,2
--- Review the number of cases vs number of deaths for each county
SELECT location, total_cases, total_deaths, (total_deaths/total_cases)*100 AS Deathpercentage
FROM Portfolio_projects.dbo.CovidDeaths
WHERE location LIKE '%States'
ORDER BY location DESC;
--- Review the number of cases vs number of deaths for each county
SELECT location, date, total_cases, total_deaths, (total_deaths/total_cases)*100 AS Deathpercentage
FROM Portfolio_projects.dbo.CovidDeaths
WHERE location = 'Nigeria'
ORDER BY Deathpercentage DESC;
---Total cases VS Population
Shows what % of population has got infected
SELECT location,population, date, total_cases,(total_cases/population)*100 AS infectedpercentage
FROM Portfolio_projects.dbo.CovidDeaths
WHERE location LIKE '%States'
ORDER BY 1,2;
---Looking at countries with highest infection rate in relation of population
SELECT location, population, MAX(total_cases) AS Higestrates,MAX(total_cases/population)*100 AS maxinfectedpercentage
FROM Portfolio_projects.dbo.CovidDeaths
GROUP BY location,population
ORDER BY 4 DESC;
SELECT location, population, SUM(total_cases)AS Highestcases
FROM Portfolio_projects.dbo.CovidDeaths
GROUP BY location,population
ORDER BY 2 DESC;
--SHowing countries with highest death rate
SELECT location, MAX(cast(total_deaths as int))AS Deathrate
FROM Portfolio_projects.dbo.CovidDeaths
GROUP BY location
ORDER BY 2 DESC;
SELECT location, population, SUM(total_cases) AS Allcases,SUM(cast(total_deaths as int)) AS Alldeaths
FROM Portfolio_projects.dbo.CovidDeaths
WHERE continent IS NOT NULL
GROUP BY location,population
ORDER BY 4 DESC;
SELECT *
FROM Portfolio_projects.dbo.CovidDeaths
WHERE continent IS NOT NULL;
-- Breaking it down by continent
SELECT continent, SUM(total_cases) AS Allcases, MAX(cast(total_deaths as int)) AS Alldeaths
FROM Portfolio_projects.dbo.CovidDeaths
WHERE continent IS NOT NULL
GROUP BY continent
ORDER BY 3 DESC;
---- Here are the correct_fugures
SELECT location, SUM(total_cases) AS Allcases, MAX(cast(total_deaths as int)) AS Alldeaths
FROM Portfolio_projects.dbo.CovidDeaths
WHERE continent IS NULL
GROUP BY location
ORDER BY 3 DESC;
---Showing continents with the highest death rates
SELECT continent,MAX(cast(total_deaths as int)) AS Alldeaths
FROM Portfolio_projects.dbo.CovidDeaths
WHERE continent IS NOT NULL
GROUP BY continent
ORDER BY 2 DESC;
----- GLOBAL Numbers
SELECT date, SUM (new_cases) AS total_cases, SUM(cast(new_deaths as int)) AS total_deaths, SUM(cast(new_deaths as int))/SUM (new_cases) AS death_percentage
FROM Portfolio_projects.dbo.CovidDeaths
WHERE continent IS NOT NULL
GROUP BY date
ORDER BY 1, 2;
SELECT SUM (new_cases) AS total_cases, SUM(cast(new_deaths as int)) AS total_deaths, SUM(cast(new_deaths as int))/SUM (new_cases) AS death_percentage
FROM Portfolio_projects.dbo.CovidDeaths
WHERE continent IS NOT NULL
--GROUP BY date
ORDER BY 1, 2;
SELECT *
FROM Portfolio_projects.dbo.CovidVaccinations
---- Population vacinnated exploration
SELECT cd.continent, cd.location, cd.date,cd.population, cv.new_vaccinations
FROM Portfolio_projects.dbo.CovidDeaths AS cd
JOIN Portfolio_projects.dbo.CovidVaccinations AS cv
ON cd.location = cv.location
AND cd.date =cv.date
WHERE cd.continent is NOT NULL
ORDER BY 5 DESC;
SELECT cd.continent, cd.location, SUM(CONVERT(int,cv.new_vaccinations)) AS total_newvaccinations
FROM Portfolio_projects.dbo.CovidDeaths AS cd
JOIN Portfolio_projects.dbo.CovidVaccinations AS cv
ON cd.location = cv.location
AND cd.date =cv.date
WHERE cd.continent is NOT NULL
GROUP BY cd.continent, cd.location
ORDER BY 3 DESC;
SELECT cd.continent, cd.location, cd.date,cd.population, cv.new_vaccinations,
SUM(convert(int,cv.new_vaccinations)) OVER (Partition by cd.location order by cd.location,cd.date) AS ROLLING_PEOPLE_Vaccinated
FROM Portfolio_projects.dbo.CovidDeaths AS cd
JOIN Portfolio_projects.dbo.CovidVaccinations AS cv
ON cd.location = cv.location
AND cd.date =cv.date
WHERE cd.continent is NOT NULL
ORDER BY 2,3;
---USE CTE
WITH PopVac (continent,location,date,population, new_vaccinations,ROLLING_PEOPLE_Vaccinated)
AS
(
SELECT cd.continent, cd.location, cd.date,cd.population, cv.new_vaccinations,
SUM(convert(int,cv.new_vaccinations)) OVER (Partition by cd.location order by cd.location,cd.date) AS ROLLING_PEOPLE_Vaccinated
FROM Portfolio_projects.dbo.CovidDeaths AS cd
JOIN Portfolio_projects.dbo.CovidVaccinations AS cv
ON cd.location = cv.location
AND cd.date =cv.date
WHERE cd.continent is NOT NULL
)
SELECT *, (ROLLING_PEOPLE_Vaccinated/population)*100 AS percentage_rolling
FROM PopVac;
-- TempTable
DROP TABLE if exists PercantagePopulationVaccinated
CREATE TABLE PercantagePopulationVaccinated
(Continent nvarchar(255),
Location nvarchar(255),
Date datetime,
Population numeric,
New_vaccinations numeric,
RollingPeopleVaccinated numeric
)
INSERT INTO PercantagePopulationVaccinated
SELECT cd.continent, cd.location, cd.date,cd.population, cv.new_vaccinations,
SUM(convert(int,cv.new_vaccinations)) OVER (Partition by cd.location order by cd.location,cd.date) AS RollingPeopleVaccinated
FROM Portfolio_projects.dbo.CovidDeaths AS cd
JOIN Portfolio_projects.dbo.CovidVaccinations AS cv
ON cd.location = cv.location
AND cd.date =cv.date
WHERE cd.continent is NOT NULL
SELECT *, RollingPeopleVaccinated
FROM PercantagePopulationVaccinated;
CREATE VIEW PercentPopulationVaccinated AS
SELECT cd.continent, cd.location, cd.date,cd.population, cv.new_vaccinations,
SUM(convert(int,cv.new_vaccinations)) OVER (Partition by cd.location order by cd.location,cd.date) AS RollingPeopleVaccinated
FROM Portfolio_projects.dbo.CovidDeaths AS cd
JOIN Portfolio_projects.dbo.CovidVaccinations AS cv
ON cd.location = cv.location
AND cd.date =cv.date
WHERE cd.continent is NOT NULL
--ORDER BY 2,3
SELECT *
FROM PercentPopulationVaccinated;