Шесть месяцев T-SQL весь день, каждый день

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

Сегодня я обычно запрашиваю базу данных 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, просто поставьте запятую перед именем «Новая переменная».

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

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

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

--I am commenting out a statement in my SQL Query
OriginalColumnTitle AS "Original Column Title"

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

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

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

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

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