Анализ данных • 12 октября 2023 • 5 мин чтения

SQL: зачем аналитику нужно знать язык структурированных запросов

Найти вручную информацию в таблицах с миллионами записей очень сложно. Но у таблиц можно «попросить» нужные данные. Рассказываем, как знание SQL помогает аналитикам в работе.

SQL. Что это?

С помощью языка программирования SQL (от англ. Structured Query Language) можно создавать, изменять, удалять таблицы в базе данных и искать в них нужную информацию.

Предприниматель открывает интернет-магазин товаров для дома собственного производства и нанимает несколько сотрудников, которые собирают и отправляют заказы. Сначала заказов не больше 100 в месяц, поэтому данные о них собирают в таблицу Google Sheets — ней можно вручную отфильтровывать информацию, считать продажи определённого товара за месяц или общую сумму всех заказов за неделю.

Через пять лет бизнес развился: число заказов увеличилось в десятки раз. Предприниматель расширяет производство, нанимает больше сотрудников, арендует склад и заключает договор с транспортной компанией для доставок по всей стране. Таблиц и данных стало больше, а Google Sheets начал медленно работать из-за большого количества записей. Поэтому информацию переносят в базы данных и нанимают аналитика, чтобы данные не просто хранились, а помогали развивать бизнес.

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

● система управления базами данных (СУБД);
● клиентская программа, например DBeaver или командная строка;
● инструмент для «общения» с базой — язык программирования SQL.

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

Аналитик пишет SQL-запрос к СУБД через интерфейс клиентской программы. Например: посчитать выручку за прошлый месяц, сравнить спрос на товары, отфильтровать покупателей, у которых в сентябре день рождения, чтобы прислать промокод на скидку

Запрос к базе данных на языке SQL может выглядеть так:

→ SELECT * FROM users WHERE age > 18

Запрос начинается с оператора — команды, которая указывает на действие с данными. В запросе выше это SELECT — «выбрать». В ответ на такой запрос аналитик получит выборку пользователей старше 18 лет.

Операторы SQL делят по назначению на четыре типа. DDL используют для работы со структурой базы данных, DML — с самими данными, DCL — с доступами к данным, и TCL — с транзакциями

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

На курсе «SQL для работы с данными и аналитики» не только осваивают SQL, но и учатся переводить задачи бизнеса на язык запросов. Студенты на реальных проектах тренируются писать правильные запросы, интерпретировать результаты анализа данных и презентовать их заказчикам.

Зачем SQL нужен аналитикам

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

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

● Работать с данными
В SQL есть запросы, чтобы вносить, удалять, изменять и преобразовывать данные, проводить с ними вычисления, фильтровать и агрегировать. Допустим, в базе торговой сети хранятся данные о продажах за 10 лет. Можно извлечь информацию о продажах за определённый период или сравнить данные в разных разрезах: какие категории товаров покупают чаще, насколько отличается прибыль в магазинах сети или к какой возрастной категории относятся постоянные покупатели.

● Управлять доступами к данным
С помощью SQL-запросов можно открывать пользователям доступ к базе. Если таких пользователей много, можно разрешать и запрещать им определённые действия командами GRANT и REVOKE. Например, менеджерам по продажам нужно выгружать отчёт, а маркетологам — следить за расходами на рекламные кампании. И тем и другим можно настроить доступ к тем объектам базы данных, в которых хранится нужная им информация. При этом можно разрешить только просмотр данных и тем самым защитить базу от случайного изменения.

● Управлять транзакциями
Транзакция — это несколько последовательных операций, которые должны полностью выполняться: при денежном переводе между счетами средства сначала списываются с одного счёта, а потом зачисляются на другой. Если деньги списались, но не зачислились, транзакция отменяется и средства возвращаются на счёт списания.

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

С помощью операторов группы TCL можно установить начальную, конечную и промежуточную точку транзакции, а также настроить откат изменений

Какие рабочие задачи SQL поможет решить

SQL помогает решать большинство повседневных рабочих задач аналитика данных. Разобрали основные.

1. Анализ продаж

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

2. Сегментация клиентов

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

3. Изучение поведения пользователей

Если в базе хранятся логи веб-серверов, журналы событий и истории покупок, с помощью SQL-запросов можно проанализировать активность пользователей. Например, время, проведённое на сайте или в приложении, частоту и количество покупок, историю просмотров. А на основе результатов анализа специалисты смогут рекомендовать, как улучшить пользовательский опыт, или оценить, какие продукты отвечают потребностям аудитории.

4. Оценка эффективности бизнеса

SQL можно использовать для анализа финансовых показателей — прибыли, выручки, затрат и инвестиций. Результаты будут полезны топ-менеджменту для обоснования управленческих решений, например о сокращении затрат или инвестиций в новые продукты.

5. Создание отчётов

Разные отделы компании запрашивают у аналитиков разные отчёты. Например, бухгалтерия — отчёт по расходам, отдел продаж — по прибыли, кадровый отдел — по принятым и уволенным сотрудникам, руководители — сводный отчет по всем ключевым показателям. С помощью SQL можно достать из общей базы данных нужную информацию и собрать её в таблицы. А затем с помощью инструментов для визуализации данных вроде Plotly можно сделать из таблиц удобные и понятные дашборды.

Совет эксперта

Александр Сушков

SQL — один из самых востребованных языков на рынке. Это очень вариативный, интересный, развивающийся и достаточно сложный язык. Его используют в разных сферах: от разработки сайтов до работы со сложными моделями машинного обучения. SQL постоянно обновляется, обрастает диалектами и охватывает новые сферы.
Статью подготовили:
Яндекс Практикум
Преподаватель и автор курсов, аналитик данных, эксперт SQL
Яндекс Практикум
Редактор
Полина Овчинникова
Яндекс Практикум
Иллюстратор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться

Успейте начать учебу в Практикуме до конца ноября со скидкой 20%

Tue Jul 16 2024 18:47:42 GMT+0300 (Moscow Standard Time)