fbpx

Каталог статей

Каталог статей для размещения статей информационного характера

Как выучить

SQL для чайников: Как выучить SQL быстро, бесплатно, за 30 дней или меньше

SQL для чайников: Как выучить SQL быстро, бесплатно, за 30 дней или меньше

SQL – это аббревиатура языка структурированных запросов, и он является важнейшим навыком для любого аналитика.

В этом посте я расскажу о ключевых понятиях SQL и помогу вам на пути к изучению этого мощного языка.

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

Что такое SQL и почему он является важным навыком для аналитиков?

SQL – это язык, используемый для общения с базами данных. Если вам нужно получить, изменить или удалить данные из базы данных, вам потребуется написать команды на SQL. Мы называем эти команды запросами. За свою карьеру аналитик может написать тысячи запросов.

Аналитики работают с данными и поэтому должны знать, как разговаривать с базами данных. SQL – один из самых важных навыков для аналитиков, но, к счастью, изучить SQL довольно просто.

SQL является наиболее распространенным языком запросов, но это не единственный язык, используемый для взаимодействия с данными. SQL обычно используется для запросов к реляционным базам данных, таким как MySQL, Postgres и BigQuery. Примером нереляционной базы данных является MongoDB.

Основы SQL

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

В вашей базе данных может быть следующее:

Таблица №1 – Пользователи

Первая таблица содержит пользователей продукта компании. Как и следовало ожидать, у нас есть строка для каждого пользователя с “id” в качестве первичного ключа. Затем у нас есть несколько столбцов, которые рассказывают нам о пользователях. Обратите внимание на последний столбец, organization_id. Это внешний ключ, который позволяет нам соединять пользователей с их соответствующими организациями. Этот столбец можно использовать для присоединения таблицы пользователей к таблице организаций.

Таблица №2 – Организации

Вторая таблица содержит информацию об организациях наших пользователей.

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

Структура SQL-запроса

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

SELECT users.id as user_id, users.gender as user_gender, users.age as user_age, organizations.id as organization_id, organizations.name as organization_name FROM users JOIN organizations on organizations.user_id = users.id WHERE users.is_deleted = 0

Первая часть запроса используется, чтобы сообщить базе данных, что мы получаем, обновляем или удаляем данные. Я выделил эту часть запроса фиолетовым цветом. В нашем примере мы имеем “SELECT”.

Наиболее распространенными запросами, которые вы будете писать, будут запросы “SELECT”. Эти запросы используются для получения данных из базы данных.

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

В примере список столбцов выделен оранжевым цветом. Мы видим 5 столбцов, id, gender и age, принадлежащих таблице users, и id и name, принадлежащие таблице organizations. Утверждения “as”, которые следуют за каждым столбцом, называются псевдонимами. Мы можем переименовать возвращаемые столбцы во что угодно. Задавать псевдонимы – хорошая привычка, поскольку вы часто захотите стандартизировать соглашения об именовании ваших столбцов.

Третья часть запроса – это указание базе данных, из какой таблицы брать данные. В нашем примере это таблица users. Но подождите, мы также запросили столбцы из таблицы organizations, так как же это работает?

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

Объединение таблиц – очень распространенный и один из самых сложных аспектов SQL.

Последняя часть запроса – это пункт “ГДЕ”. Предложение “ГДЕ” используется для отсеивания ненужных нам данных. В нашем примере мы указываем базе данных вернуть пользователей, которые не удалены (is_deleted = 0).

Обратите внимание, как я написал пример запроса. Вы видите, как я выделил заглавными буквами основные команды и упорядочил запрос? Как аналитик вы должны начать писать SQL в чистой и организованной манере с первого дня. Это поможет вам войти в привычку. Попробуйте проверить 40-строчный запрос, написанный неорганизованно, и вы поймете, почему я сделал это предложение.

Как получить все данные из таблицы в SQL?

Чтобы получить все данные из таблицы в SQL, достаточно использовать оператор звездочки (*). Пример такого запроса показан ниже.

Что еще можно сделать с помощью SQL-запроса?

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

Допустим, вместо того чтобы вывести список пользователей, я хочу подсчитать количество пользователей, принадлежащих к каждой организации? В этом случае я бы добавил в запрос функции group by и count.

Ниже приведен список наиболее часто используемых функций SQL:

Где я могу изучать SQL онлайн?

Существует множество способов изучения SQL в Интернете. Ниже приведен список моих любимых ресурсов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *