Repository navigation
Expand file tree
/
Copy pathSQLQuery1.sql
More file actions
132 lines (96 loc) · 4.42 KB
/
Copy pathSQLQuery1.sql
File metadata and controls
132 lines (96 loc) · 4.42 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
-- SELECTING DATA WE ARE GOING TO BE USING
SELECT location, date, total_cases, new_cases, total_deaths, population
FROM Portfolioproject..CovidDeaths_og
WHERE continent is NOT NULL
ORDER BY 1,2
--TOTAL CASES vs TOTAL DEATHS in my Country
SELECT location, date, total_cases, total_deaths, CAST(total_deaths AS FLOAT) *100/ total_cases AS death_rate
FROM Portfolioproject..CovidDeaths_og
WHERE location like 'india' and continent is NOT NULL
ORDER BY 1,2
--TOTAL CASES vs POPULATION in my Country
SELECT location, date, total_cases, population,total_cases *100/ population AS death_rate
FROM Portfolioproject..CovidDeaths_og
WHERE location like 'india' and continent is NOT NULL
ORDER BY 1,2
--Countries with Highest Infection Rate compared to Population
SELECT location, population, MAX(total_cases) as HighestInfectionCount, CAST(MAX(total_cases) AS FLOAT) *100/ NULLIF(population,0) AS PercentagePopulationInfected
FROM Portfolioproject..CovidDeaths_og
WHERE continent is NOT NULL
GROUP BY location, population
ORDER BY PercentagePopulationInfected DESC
--Countries with Highest Death count per Population
SELECT location, CAST(MAX(total_deaths) AS INT) as Deathcount
FROM Portfolioproject..CovidDeaths_og
WHERE continent is NOT NULL
GROUP BY location
ORDER BY Deathcount DESC
--BREAKING THINGS DOWN BY CONTINENT
--Continents with highest death count per population
SELECT continent, CAST(MAX(total_deaths) AS INT) as Deathcount
FROM Portfolioproject..CovidDeaths_og
WHERE continent is NOT NULL
GROUP BY continent
ORDER BY Deathcount DESC
--GLOBAL NUMBERS
SELECT date, SUM(new_cases) AS totalCases, SUM(new_deaths) AS TotalDeaths,SUM(CAST(new_deaths AS FLOAT)) /SUM(CAST(new_cases AS FLOAT))*100 as DeathPercentage
FROM Portfolioproject..CovidDeaths_og
WHERE continent is NOT NULL
GROUP BY date
ORDER BY 1, 2
--VACCINATIONS
SELECT * FROM Portfolioproject..CovidVaccinations_og1
--JOIN
SELECT dea.continent, dea.location, dea.date, dea.population, vac.new_vaccinations,SUM(CONVERT(int, vac.new_vaccinations)) OVER (PARTITION BY dea.location ORDER BY dea.location, dea.date) AS totalVaccination
FROM Portfolioproject..CovidDeaths_og dea
JOIN Portfolioproject..CovidVaccinations_og1 vac
ON dea.location = vac.location
and dea.date = vac.date
WHERE dea.continent IS NOT NULL
ORDER BY 2, 3
--USE CTE
WITH PopvsVac (Continent, Location, Date, Population, New_vaccinations, RollingPeopleVaccinated)
AS (SELECT dea.continent, dea.location, dea.date, dea.population, vac.new_vaccinations,SUM(CONVERT(int, vac.new_vaccinations)) OVER (PARTITION BY dea.location ORDER BY dea.location, dea.date) AS totalVaccination
FROM Portfolioproject..CovidDeaths_og dea
JOIN Portfolioproject..CovidVaccinations_og1 vac
ON dea.location = vac.location
and dea.date = vac.date
WHERE dea.continent IS NOT NULL
)
SELECT *, (RollingPeopleVaccinated/Population)*100 FROM PopvsVac
--TEMP TABLE
DROP TABLE IF EXISTS #PercentagePopulationVaccinated
CREATE TABLE #PercentagePopulationVaccinated
(
Continent nvarchar(255),
Location nvarchar(255),
Datee datetime,
Population numeric,
New_vaccinations numeric,
RollingPeopleVaccinated numeric
)
INSERT INTO #PercentagePopulationVaccinated
SELECT dea.continent, dea.location, dea.date, dea.population, vac.new_vaccinations,SUM(CONVERT(int, vac.new_vaccinations)) OVER (PARTITION BY dea.location ORDER BY dea.location, dea.date) AS totalVaccination
FROM Portfolioproject..CovidDeaths_og dea
JOIN Portfolioproject..CovidVaccinations_og1 vac
ON dea.location = vac.location
and dea.date = vac.date
--WHERE dea.continent is not null
SELECT *, (RollingPeopleVaccinated/Population)*100 FROM #PercentagePopulationVaccinated
--CREATE VIEW
CREATE VIEW PercentPopulationVaccinated AS
SELECT dea.continent, dea.location, dea.date, dea.population, vac.new_vaccinations,
SUM(CONVERT(int, vac.new_vaccinations)) OVER (PARTITION BY dea.location ORDER BY dea.location, dea.date) AS totalVaccination
FROM Portfolioproject..CovidDeaths_og dea
JOIN Portfolioproject..CovidVaccinations_og1 vac
ON dea.location = vac.location
and dea.date = vac.date
WHERE dea.continent IS NOT NULL
SELECT name
FROM sys.views
WHERE name = 'PercentPopulationVaccinated';
SELECT TABLE_SCHEMA, TABLE_NAME
FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME = 'PercentPopulationVaccinated';
SELECT * FROM PercentPopulationVaccinated
DROP VIEW IF EXISTS PercentPopulationVaccinated