До текущей работы бизнес-аналитиком, на которую я устроилась в августе 2021 года, я написала всего несколько SQL-запросов. Меня наняли не из-за знания SQL (Structured Query Language, язык структурированных запросов). Однако в ноябре в нашей компании внедрялась новая база данных. Я, как единственный человек в команде, который когда-либо писал на языке программирования, стала самым подходящим кандидатом в специалисты по извлечению данных из новой БД.

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

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

1. Поиск по схеме определенных имен столбцов

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE %search term%

Первые запросы к базе данных в SQL Server Management Studio я выполняла щелчком правой кнопкой мыши на имени таблицы и перебором 1000 верхних строк для каждой таблицы. Я просматривала строку за строкой, чтобы найти имя столбца, которое соответствовало тому, что мне было нужно.

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

2. Создание столбца на основе условий с помощью CASE WHEN

"New Variable"=
CASE WHEN condition THEN 'output if true' ELSE 'output if false'
END

Предложение CASE WHEN вставляется под оператором SELECT, как и любой другой столбец, который нужно вернуть. Если оно следует за другим столбцом в операторе SELECT, просто поставьте запятую перед именем новой переменной (New Variable).

CASE WHEN выручает, когда требуется вернуть двоичную переменную, если строка данных удовлетворяет одному или нескольким условиям. Вставить второе условие просто: нужно поместить оператор AND между двумя условиями в оператор CASE WHEN.

Использование этого оператора экономит много времени. Альтернативой является создание новой переменной в Power Query Editor при импорте данных в Power BI, что приходится повторять каждый раз при необходимости отредактировать запрос.

3. Комментарии и псевдонимы

--I am commenting out a statement in my SQL Query

OriginalColumnTitle AS "Original Column Title"

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

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

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


Работа с данными для меня началась с изучения кода на языке SAS, затем R и, наконец, Python. Всего несколько раз мне пришлось извлекать небольшой набор данных с использованием навыков SAS. Однако ни один из этих языков не позволил создавать сквозные процессы обработки данных в аналитическом инструменте. Такую возможность предоставил только SQL.

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

Читайте также:

Читайте нас в TelegramVK и Яндекс.Дзен


Перевод статьи Kat Hernandez: From 0 to 300 SQL Queries a Month: My 3 Best Tips

Предыдущая статьяСоздание многократно используемых компонентов React оптимальным способом
Следующая статьяКак написать переключатель темы на базе файлов cookie с помощью CSS и ванильного JavaScript