Зарегистрируйтесь, чтобы продолжить обучение

Язык SQL Аналитика на SQL

В современном мире данные создаются с огромной скоростью. Мы постоянно делаем фотографии, снимаем видео, покупаем товары в интернет-магазинах, посещаем сайты, пишем посты в соцсетях. Все эти данные можно хранить на компьютерах, внешних носителях или в облачных сервисах. Но для организованного хранения больших объемов информации эти способы не подойдут.

В таких случаях лучшим вариантом будут базы данных. Они похожи на коробки — в них можно складывать информацию и хранить ее так, чтобы было легко найти.

Для работы с базами используются разные СУБД — системы управления базами данных. Это специальные программы, которые позволяют создавать, удалять, менять и читать информацию из базы.

Формат базы зависит от типа СУБД. Например, данные можно хранить в виде таблиц из строк и столбцов — таким образом устроены реляционные СУБД. Яркие примеры реляционных СУБД — это MySQL, PostgreSQL и Oracle.

Чтобы работать с реляционными СУБД, нужно освоить SQL — язык запросов к базам данных. В этом уроке мы начнем знакомиться с этим языком.

Как аналитики используют SQL

Чтобы обращаться к записям в базе данных, используется SQL — язык структурированных запросов. С его помощью можно легко и быстро получать нужные данные, добавлять новые записи, изменять или удалять существующие.

В SQL есть несколько основных типов команд:

  • SELECT — выбрать данные из базы, то есть получить информацию, отфильтровать ее или отсортировать по критериям
  • INSERT — добавить новые записи в базу данных
  • UPDATE — изменить существующие данные в базе, то есть обновить значения в определенных строках и столбцах таблицы
  • DELETE — удалить данные из базы

На практике аналитики данных чаще всего используют команду SELECT. Она помогает получать нужную информацию из базы данных, чтобы затем провести анализ и принять обоснованные решения.

Язык SQL в аналитике решает множество задач:

  1. Фильтрация данных — можно выбрать только те данные, которые соответствуют определенным условиям. Это очень полезно, когда аналитику нужно сосредоточиться на конкретных значениях или категориях
  2. Сортировка данных — можно отсортировать данные по возрастанию или убыванию и упорядочить их по определенным критериям. Это заметно облегчает анализ
  3. Вычисление агрегатных функций — можно воспользоваться встроенными функциями и рассчитать сумму, среднее значение, минимальное и максимальное значение, а также другие статистические показатели. Это помогает аналитикам быстро оценить общую картину и определить тренды
  4. Объединение данных из разных таблиц — можно связывать данные из разных таблиц, чтобы получить более полную информацию для анализа. Это особенно полезно, когда данные хранятся в отдельных таблицах, но связаны между собой
  5. Группировка данных — можно сгруппировать данные по определенным критериям, чтобы увидеть общие закономерности и зависимости. Это упрощает анализ и помогает найти важные инсайты

На этом курсе мы научимся решать все эти задачи.

Как работать с SQLime

Для обучения аналитике на SQL мы будем пользоваться SQLime — удобным онлайн-инструментом, который не требует установки программы на компьютер. Это интерактивная среда, в которой можно писать и выполнять SQL-запросы.

Чтобы начать пользоваться SQLime, откройте сайт SQLime в браузере.

На главной странице вы увидите:

untitled

Страница состоит из двух блоков:

  1. Окно для ввода SQL-запросов. Здесь вы можете использовать подсказки и автодополнение кода, чтобы ускорить процесс написания запросов и уменьшить вероятность ошибок
  2. Окно для вывода результатов. Здесь вы увидите результаты выборки данных, обновлений, добавления или удаления записей

В SQLime можно подключиться к любой локальной или удаленной реляционной базе данных. Это можно сделать разными способами:

  • С помощью файла в формате .db
  • C помощью URL-ссылки
  • С помощью команд CREATE и INSERT

Для примера возьмем уже созданную базу данных с информацией о продажах товаров в разных магазинах. Чтобы поработать с ней, достаточно перейти по ссылке.

Как извлекать записи

Выполним первый запрос:

SELECT * FROM products;

Рассмотрим его подробнее:

  • Ключевое слово SELECT указывает, что мы хотим извлечь данные из таблицы
  • Символ * означает, что мы хотим выбрать все столбцы из таблицы
  • Ключевое слово FROM указывает, из какой таблицы извлечь данные
  • Название products обозначает таблицу, из которой мы хотим извлечь данные

Выполнив этот запрос, мы получим таблицу со всеми строками и столбцами из таблицы products:

untitled

Здесь мы видим полную информацию о каждом продукте, включая его идентификатор, название, категорию и цену.

Аналогично предыдущему примеру, можно извлечь все записи из sales — таблицы с продажами:

SELECT * FROM sales;

Такой результат мы получим:

untitled

Если нужны какие-то конкретные поля, можно перечислить их через запятую вместо звездочки:

SELECT
    sale_id,
    sale_date,
    quantity
FROM sales;

Сделав такой запрос, мы получим таблицу с тремя столбцами:

untitled

Как работает пагинация

Пагинация позволяет разбить большой набор данных на меньшие части, которые можно отображать на разных страницах. В SQL для этого используются операторы LIMIT и OFFSET.

Допустим, мы хотим посмотреть список продаж на страницах, каждая из которых содержит по три записи. Чтобы получить продажи на первой странице, используем следующий SQL-запрос:

SELECT * FROM sales
LIMIT
    3
    OFFSET 0;

Результат этого запроса выглядит так:

untitled

Чтобы просмотреть продажи на второй странице, увеличим значение OFFSET на 3:

SELECT * FROM sales
LIMIT
    3
    OFFSET 3;

Получим такую таблицу:

untitled

Операторы LIMIT и OFFSET ограничивают количество возвращаемых строк и пропускают определенное количество строк перед началом извлечения:

  1. Оператор LIMIT определяет максимальное количество строк в результате. Например, LIMIT 3 ограничивает результат до трех строк
  2. OFFSET определяет, сколько строк следует пропустить перед извлечением. Например, запрос с OFFSET 3 пропустит первые три строки и вернет результаты, начиная с четвертой строки

Чтобы получить продажи на N-ной странице, обычно используют OFFSET с такой формулой:

OFFSET (N  1) * количество_записей_на_странице`

Для примера вычислим значение OFFSET, которое покажет продажи на третьей странице:

(3  1) * 3 = 6

Как присвоить псевдоним

Чтобы работать с базой данных было удобнее, мы можем изменить названия на более понятные.

Для этого используется оператор AS, который присваивает строке, столбцу или таблице более удобное название — псевдоним (alias).

Попробуем присвоить псевдонимы столбцам product_name, category, и price:

SELECT
    product_id,
    product_name AS "Название продукта",
    category AS "Категория",
    price AS "Цена"
FROM products;

В выводе мы увидим таблицу с понятными названиями:

untitled

Как найти уникальные значения

Представим, нам нужно проанализировать ассортимент магазина и найти в нем уникальные категории товаров. Для таких задач используется оператор DISTINCT. Он позволяет получить уникальные значения определенного столбца или набора столбцов.

Извлечем уникальные категории из таблицы products.

SELECT DISTINCT category
FROM products;

В результате мы увидим три уникальные категории:

untitled

Если в таблице есть несколько товаров с одинаковыми категориями, то в результате запроса каждая категория появится только один раз.

Выводы

В этом уроке мы начали знакомиться с языком запросов SQL. Подведем краткие итоги:

  1. В современном мире очень много информации — такие объемы удобнее всего хранить в базах данных
  2. Базы данных управляются с помощью СУБД — систем управления базами данных. Они позволяют организовать хранение в различных форматах и структурах
  3. Реляционные СУБД работают с данными, которые хранятся в таблицах из строк и столбцов
  4. Язык SQL используется для обращения к данным, хранящимся в базе данных и управления ими
  5. С помощью оператора SELECT можно извлечь данные из таблицы, а с помощью LIMIT и OFFSET — организовать пагинацию
  6. Оператор AS позволяет присвоить псевдонимы таблицам или столбцам, что упрощает чтение SQL-запросов
  7. Оператор DISTINCT извлекает уникальные значения определенного столбца или набора столбцов, что может быть полезно в аналитических задачах

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff