Пандемия COVID-19 породила огромное количество данных, и SQL является мощным инструментом для их анализа. В этой статье мы рассмотрим, как выполнить содержательный анализ данных о COVID-19 с помощью SQL.

Предварительные условия

Прежде чем мы углубимся в SQL-запросы:

  • Доступ к базе данных SQL (например, MySQL, PostgreSQL).
  • Загрузите набор данных о COVID-19 в свою базу данных.

Мы можем использовать обширный набор данных Kaggle, который предоставляет подробную информацию о случаях заболевания COVID-19 по всему миру.

Или просто для практики мы можем создать и использовать простой пример набора данных, подобный этому:

-- Create a new database
CREATE DATABASE covid19_data;

-- Switch to the new database
USE covid19_data;

-- Create a table to store COVID-19 data
CREATE TABLE covid_19_data (
    id INT AUTO_INCREMENT PRIMARY KEY,
    date DATE,
    country_region VARCHAR(255),
    confirmed INT,
    deaths INT,
    recovered INT,
    continent VARCHAR(255),
    population INT
);

-- Insert sample data
INSERT INTO covid_19_data (date, country_region, confirmed, deaths, recovered, continent, population) VALUES
('2022-01-01', 'USA', 1000, 50, 900, 'North America', 331002651),
('2022-01-01', 'India', 800, 20, 700, 'Asia', 1380004385),
('2022-01-02', 'USA', 1200, 55, 950, 'North America', 331002651),
('2022-01-02', 'India', 900, 25, 720, 'Asia', 1380004385),
('2022-01-03', 'USA', 1500, 60, 980, 'North America', 331002651),
('2022-01-03', 'India', 1100, 30, 750, 'Asia', 1380004385);

-- Add more sample data as you want

Подключение к базе данных

Сначала установите соединение с вашей базой данных SQL и выберите соответствующую базу данных:

-- Connect to your database
USE covid19_data;

SQL-запросы

1. Общее количество случаев, смертей и выздоровлений

-- Total cases, deaths, and recoveries
SELECT
    SUM(confirmed) AS total_cases,
    SUM(deaths) AS total_deaths,
    SUM(recovered) AS total_recoveries
FROM covid_19_data;

2. Случаи по странам

-- Cases by country
SELECT
    country_region,
    SUM(confirmed) AS total_cases
FROM covid_19_data
GROUP BY country_region
ORDER BY…