-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCovid_Project(data analysis).sql
201 lines (142 loc) · 5.55 KB
/
Covid_Project(data analysis).sql
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
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
select *
from PortfolioProject..CovidDeaths
order by 3,4
--select *
--from PortfolioProject..CovidVaccination
--order by 3,4
--Selecting data to be used in this project
select location,date, total_cases,new_cases,total_deaths,population
from PortfolioProject..CovidDeaths
order by 1,2
--Comparing the total_Cases and the Total Deaths
select location,date,total_cases,total_deaths, (total_deaths/total_cases)*100 as DeathPercentage
from PortfolioProject..CovidDeaths
where location like '%india%'
order by 1,2
--Finding the percentage of the total case to the total population
select location,date,total_cases,population, (total_cases/population)*100 as total_case_Percenatge
from PortfolioProject..CovidDeaths
where location like '%india%'
order by 1,2
-- figure out the countries with the highest infection rate as compared to the population
select location,population,MAX(total_cases) as highestinfectedcount,
max(total_cases/population)*100 as highestInfectionRate
from PortfolioProject..CovidDeaths
group by location,population
order by highestinfectedcount desc
--Figure out the countries with the highest death rate as compared to the population
select location,MAX(cast(total_deaths as int)) as highestDeathcounts
from PortfolioProject..CovidDeaths
where continent is not null
group by location
order by highestDeathcounts desc
--Looking at the continents with the highest deathcounts
select continent,MAX(cast(total_deaths as int)) as highestDeathcounts
from PortfolioProject..CovidDeaths
where continent is not null
group by continent
order by highestDeathcounts desc
--Checking out the cases and deaths globally
select date,sum(new_cases) as global_daily_cases,
sum(cast(new_deaths as int)) as global_daily_deaths,
(sum(cast(new_deaths as int))/sum(new_cases))*100 as deathRateGlobally --total_deaths, (total_deaths/total_cases)*100 as DeathPercentage
from PortfolioProject..CovidDeaths
where continent is not null
group by date
order by 1,2
select sum(new_cases) as global_daily_cases,
sum(cast(new_deaths as int)) as global_daily_deaths,
(sum(cast(new_deaths as int))/sum(new_cases))*100 as deathRateGlobally --total_deaths, (total_deaths/total_cases)*100 as DeathPercentage
from PortfolioProject..CovidDeaths
where continent is not null
--group by date
order by 1,2
--Joining the both CovidDeaths and CovidVaccination Table
select *
from PortfolioProject..CovidVaccination as dea
Join PortfolioProject..CovidVaccination as vac
on dea.location = vac.location and
dea.date = vac.date
--Looking at total population vs new_vaccination per day
select dea.continent, dea.location,dea.date, dea.population, vac.new_vaccinations
from PortfolioProject..CovidDeaths as dea
Join PortfolioProject..CovidVaccination as vac
on dea.location = vac.location
and dea.date = vac.date
where dea.continent is not null
order by 1,2,3
--Adding the new_vaccination and partitioning by location
select dea.continent, dea.location,dea.date, dea.population,
vac.new_vaccinations,
sum(cast(vac.new_vaccinations as int))
over (Partition by dea.Location order by dea.location,dea.date)
as Rolling_people_vaccinated
from PortfolioProject..CovidDeaths as dea
Join PortfolioProject..CovidVaccination as vac
on dea.location = vac.location
and dea.date = vac.date
where dea.continent is not null
order by 2,3
--Going to look at percentage of population got vaccinated
--using a temporary table.
--USE CTE
with PopvsVac(continent, location,date ,population, new_vaccination, Rolling_people_vaccinated)
as
(select dea.continent, dea.location,dea.date, dea.population,
vac.new_vaccinations,
sum(cast(vac.new_vaccinations as int))
over (Partition by dea.Location order by dea.location,dea.date)
as Rolling_people_vaccinated
from PortfolioProject..CovidDeaths as dea
Join PortfolioProject..CovidVaccination as vac
on dea.location = vac.location
and dea.date = vac.date
where dea.continent is not null
--order by 2,3
)
select *,(Rolling_people_vaccinated/population)*100 as
percentage_people_vaccinated
from
PopvsVac
--TEMP TABLE
drop table if exists PercantagePopulationVaccinated
create table PercantagePopulationVaccinated
(
continent nvarchar(255),
location nvarchar(255),
date datetime,
population numeric,
new_vaccinations numeric,
Rolling_people_vaccinated numeric
)
insert into PercantagePopulationVaccinated
select dea.continent, dea.location,dea.date, dea.population,
vac.new_vaccinations,
sum(cast(vac.new_vaccinations as int))
over (Partition by dea.Location order by dea.location,dea.date)
as Rolling_people_vaccinated
from PortfolioProject..CovidDeaths as dea
Join PortfolioProject..CovidVaccination as vac
on dea.location = vac.location
and dea.date = vac.date
--where dea.continent is not null
--order by 2,3
select *,(Rolling_people_vaccinated/population)*100
from
PercantagePopulationVaccinated
--creating a view for visualization
create view per_vacc_pop
as
select dea.continent, dea.location,dea.date, dea.population,
vac.new_vaccinations,
sum(cast(vac.new_vaccinations as int))
over (Partition by dea.Location order by dea.location,dea.date)
as Rolling_people_vaccinated
from PortfolioProject..CovidDeaths as dea
Join PortfolioProject..CovidVaccination as vac
on dea.location = vac.location
and dea.date = vac.date
where dea.continent is not null
--order by 2,3
select *
from per_vacc_pop