-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExplorationOfCovidData.sql
More file actions
120 lines (99 loc) · 4.37 KB
/
ExplorationOfCovidData.sql
File metadata and controls
120 lines (99 loc) · 4.37 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
SELECT location, date, total_cases, new_cases, total_deaths,population
FROM PortfolioProject.CovidDeaths
ORDER BY 1, 2;
-- Looking at Total Cases VS Total Deaths
-- Shows likelihood of survival if you contract covid
SELECT location, date, total_cases, total_deaths, (total_deaths/total_cases) * 100 AS DeathPercentage
FROM PortfolioProject.CovidDeaths
WHERE location = 'Sweden'
ORDER BY 1, 2;
-- Looking at total cases vs population
-- Shows what percentage of population got covid
SELECT location, date, total_cases, total_deaths, population, (total_cases/population) * 100 AS percentageOfPopulationWithCovid
FROM PortfolioProject.CovidDeaths
WHERE location = 'Sweden'
ORDER BY 1, 2;
-- Looking at countries with highest infection rate per capita
SELECT location,population, MAX(total_cases) AS HighestInfectionCount, MAX((total_cases/population)) * 100 AS MaxPercentPopulationInfected
FROM PortfolioProject.CovidDeaths
WHERE continent IS NOT NULL
GROUP BY location, population
ORDER BY MaxPercentPopulationInfected DESC;
-- Showing countries with highest death count per capita
SELECT location, MAX(total_deaths) AS TotalDeaths
FROM PortfolioProject.CovidDeaths
WHERE continent IS NOT NULL
GROUP BY location
ORDER BY TotalDeaths desc;
-- Showing continents with the highest death count per capita
SELECT location, MAX(total_deaths) AS TotalDeaths
FROM PortfolioProject.CovidDeaths
WHERE continent IS NULL
GROUP BY location
ORDER BY TotalDeaths desc;
-- Global numbers by date
SELECT date, SUM(new_cases) AS total_cases, SUM(new_deaths) AS total_deaths, SUM(new_deaths)/ SUM(new_cases)* 100 AS DeathPercentage
FROM PortfolioProject.CovidDeaths
WHERE continent IS NOT NULL
GROUP BY date
ORDER BY 1, 2;
-- Global numbers in total
SELECT SUM(new_cases) AS total_cases, SUM(new_deaths) AS total_deaths, SUM(new_deaths)/ SUM(new_cases)* 100 AS DeathPercentage
FROM PortfolioProject.CovidDeaths
WHERE continent IS NOT NULL
ORDER BY 1, 2;
-- Looking at total population vs vaccinations using CTE
WITH PopulationVsVaccinated (continent, location, date, population, new_vaccinations, CumulativePeopleVaccinated)
AS
(
SELECT dea.continent, dea.location, dea.date, dea.population, vac.new_vaccinations
, SUM(vac.new_vaccinations) OVER (PARTITION BY dea.location ORDER BY dea.location, dea.date) AS CumulativePeopleVaccinated
FROM PortfolioProject.CovidDeaths dea
JOIN PortfolioProject.CovidVaccinations vac
ON dea.location = vac.location AND dea.date = vac.date
WHERE dea.continent IS NOT NULL
)
SELECT *, (CumulativePeopleVaccinated/population) * 100 FROM PopulationVsVaccinated;
-- Creating View to store data for later visualizations
CREATE VIEW PopulationVaccinated AS
SELECT dea.continent, dea.location, dea.date, dea.population, vac.new_vaccinations,
SUM(vac.new_vaccinations) OVER (PARTITION BY dea.location ORDER BY dea.location, dea.date)
AS CumulativePeopleVaccinated
FROM PortfolioProject.CovidDeaths dea
JOIN PortfolioProject.CovidVaccinations vac
ON dea.location = vac.location AND dea.date = vac.date
WHERE dea.continent IS NOT NULL;
CREATE VIEW CasesVsDeaths AS
SELECT location, date, total_cases, total_deaths, (total_deaths/total_cases) * 100 AS DeathPercentage
FROM PortfolioProject.CovidDeaths
WHERE location = 'Sweden'
ORDER BY 1, 2;
CREATE VIEW TotalCasesVsPopulation AS
SELECT location, date, total_cases, total_deaths, population, (total_cases/population) * 100 AS percentageOfPopulationWithCovid
FROM PortfolioProject.CovidDeaths
WHERE location = 'Sweden'
ORDER BY 1, 2;
CREATE VIEW InfectionRatePerCountries AS
SELECT location,population, MAX(total_cases) AS HighestInfectionCount, MAX((total_cases/population)) * 100 AS MaxPercentPopulationInfected
FROM PortfolioProject.CovidDeaths
WHERE continent IS NOT NULL
GROUP BY location, population
ORDER BY MaxPercentPopulationInfected DESC;
CREATE VIEW HighestDeathRateCountries AS
SELECT location, MAX(total_deaths) AS TotalDeaths
FROM PortfolioProject.CovidDeaths
WHERE continent IS NOT NULL
GROUP BY location
ORDER BY TotalDeaths desc;
CREATE VIEW GlobalNumbersByDate AS
SELECT date, SUM(new_cases) AS total_cases, SUM(new_deaths) AS total_deaths, SUM(new_deaths)/ SUM(new_cases)* 100 AS DeathPercentage
FROM PortfolioProject.CovidDeaths
WHERE continent IS NOT NULL
GROUP BY date
ORDER BY 1, 2;
CREATE VIEW HighestDeathRateContinents AS
SELECT location, MAX(total_deaths) AS TotalDeaths
FROM PortfolioProject.CovidDeaths
WHERE continent IS NULL
GROUP BY location
ORDER BY TotalDeaths desc;