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

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

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

Давайте рассмотрим реальный пример вопросов собеседований по Data Science, которые можно решить с помощью SQL-запросов. У нас есть решение, которое дает правильный вывод, но оно очень неэффективно и трудно читаемо. Затем мы рассмотрим несколько ключевых рекомендаций по написанию SQL-запросов и применим их к коду, чтобы улучшить его и использовать в качестве ответа на вопросы на собеседовании.

Пример вопроса на собеседовании по SQL

Premium vs Freemium

Microsoft Hard Interview Questions ID 10300


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

Tables: ms_user_dimension, ms_acc_dimension, ms_download_facts

Ссылка на задание: https://platform.stratascratch.com/coding/10300-premium-vs-freemium