Базы данных бывают реляционными и нереляционными. В реляционных информация хранится в виде таблиц, в нереляционных — в виде документов, пар «ключ-значение» и других нетабличных форматах.
Чтобы совершать операции с данными, используют систему управления базами данных (сокр. СУБД). СУБД берёт запрос, передаёт его базе и возвращает пользователю результат. Самые известные реляционные СУБД — PostgreSQL, MySQL, Oracle, Microsoft SQL.
Чтобы получить из базы информацию, используют оператор или команду — слово или символ, которые помогают формировать запросы к базе. Запросы пишут на языке SQL. С их помощью можно создавать и менять информацию, формировать выборки. Например, выгрузить все заказы интернет-магазина за последний месяц.
Писать запросы на SQL — востребованный навык для специалистов, которые работают с данными. На курсе «SQL для работы с данными и аналитики» студенты осваивают SQL c нуля и учатся писать запросы для реальных проектов. Например, анализируют поведение пользователей на платформе для блогов. Вычисляют интервал между регистрацией и временем создания первого поста, чтобы понять, насколько платформа удобна для пользователей.
В SQL есть несколько групп операторов:
● Команды для работы с данными. CREATE, DELETE, INSERT, SELECT помогают создавать и удалять таблицы, менять в них данные и выгружать данные.
● Логические. Их используют, чтобы усложнять запросы и формировать более точные выборки. Например, добавлять больше одного условия или исключать данные.
● Арифметические. Помогают совершать операции с данными таблицы — делить, вычитать, умножать. Обозначаются примерно как в математике: +, -, /, *.
● Операторы сравнения SQL используют, когда нужно выбрать из таблицы данные относительно определённых значений. Например, все товары, стоимость которых больше 2000 рублей.
В SQL десятки команд, но SELECT, FROM и WHERE присутствуют практически в каждом SQL-запросе. Эти три оператора — фундамент запросов к базе, а более сложные запросы — комбинации этих команд с другими. Те, кто регулярно используют SQL, со временем запоминают большинство операторов. А начинающие аналитики и разработчики часто пользуются шпаргалкой по основным командам SQL.
Попробуем написать несколько простых SQL-запросов с помощью основных команд. Будем использовать готовую таблицу из демонстрационной базы данных больницы — Patients.
SELECT — основной оператор SQL, он нужен для извлечения данных.
FROM указывает, откуда эти данные нужно выбрать, и создаёт набор результатов.
WHERE уточняет выборку, сформированную с помощью FROM. Он возвращает только те данные, которые соответствуют требованиям запроса, и указывает точное место в базе данных, где находится результат. Если его не использовать, выборка получится неинформативной. Например, вернутся все поля из базы данных с клиентами вместо тех, где указан конкретный город доставки.
Выберем из учебной базы данных только пациентов мужского пола.
Значок * показывает, что мы ищем значения во всех полях таблицы Patients. WHERE gender='M' — условие выборки: показать поля, где указан мужской пол
Оператор AND используют, когда нужно задать больше одного условия для выборки. Эта команда добавляет в итоговую таблицу все поля, которые соответствуют условиям.
NOT, наоборот, исключает указанные значения из таблицы.
Выберем пациентов мужского пола из города Гамильтон.
Оператор SELECT порой возвращает выборку в неопределённом порядке. Чтобы добавить логику и отсортировать результаты, используют команду ORDER BY.
Отсортируем пациентов по городу в алфавитном порядке.
Иногда для задачи нужна не вся таблица, а только несколько строк. Оператор LIMIT позволяет ограничить выборку.
Разработчики собирают данные о финансах, логистике, маркетинге компании в базы. Аналитики изучают эти данные и выдвигают гипотезы — как улучшить показатели. Они используют синтаксис SQL, чтобы сформировать правильный запрос и получить данные для этих гипотез.
Например, для интернет-магазина важно отслеживать запасы на складах, чтобы вовремя пополнять их. Аналитики данных используют операторы SQL, чтобы создать систему управления запасами. Вот какие выборки данных она может содержать:
● какой была погода в год лучших продаж;
● как растут продажи в сезон отпусков за последние 5 лет;
● как связаны продажи и различные макроэкономические показатели — инфляция, курс валют.
Чтобы делать такие выборки, нужно уметь формировать более сложные запросы, чем те, что мы рассмотрели до этого. Новичкам нужно сначала набить руку на задачах попроще. Для этого есть тренировочные базы данных и онлайн-тренажёры, которые берут из них данные. Например, база данных для PostgreSQL — авиаперевозки по России.
Попробуем решить задачу, используя информацию из этой базы, — выведем все рейсы из Москвы.
2. Формируем выборку с рейсами, которые вылетели из Москвы. Для этого пишем запрос:
SELECT * означает, что мы выбрали все поля.
FROM Trip — указываем, из какой таблицы нужны данные.
WHERE
town_from = 'Moscow' — условие выборки: взять из столбца с городом отправления значения, которые соответствуют Москве.
Мария Ефимова
Тем, кто только начинает изучать SQL, нужно как можно больше практиковаться. Лучше начать с простых запросов вроде SELECT FROM и постепенно усложнять задачу. Например, пробовать применять оконные функции. Их часто используют, чтобы создавать страницы с показателями бизнеса. Например, количество договоров и средний размер задолженности по кредитам в одном из подразделений банка.
Поначалу запросы могут работать медленно. Это не страшно, главное — чтобы они выполнялись без ошибок. Дальше можно пробовать их оптимизировать — использовать разные команды, менять логику и смотреть, какие запросы будут выполняться быстрее.
Читать также: