每月从0到300次的SQL查询。我的三个最佳技巧

107 阅读4分钟

[

Kat Hernandez

](medium.com/@kathleen.m…)

凯特-埃尔南德斯(Kat Hernandez

关注

6月22日

-

3分钟阅读

[

拯救

](medium.com/m/signin?ac…)

每月从0到300次SQL查询。我的三个最佳技巧

六个月来,每天都在进行T-SQL查询

照片:Alejandro EscamillaonUnsplash

当我在2021年8月开始担任目前的职务时,我一生中可能写过三到四次SQL查询。SQL并不是我被雇用的一项技能。但在11月,我的公司有一个新数据库的推出。我是我的团队中唯一一个用编码语言写过东西的人,所以我是最有资格开始从这个新数据库中提取数据的候选人。

今天,我通常每天查询数据库7-10次。下个月我将获得第二个数据库的访问权,并且正在与公司内的其他几条业务线接触,以便有可能获得更多的访问权。

在最基本的语句顺序之外,你可以在这里读到,我一直依靠一些语句来简化我的查询,并更有效地将数据加载到我的仪表板。

1.搜索模式中的特定列名

SELECT *FROM INFORMATION_SCHEMA.COLUMNSWHERE 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语句的两个条件之间放一个 "AND "语句一样简单。

使用这个语句可以节省大量的时间。另一种方法是当我在Power BI中导入数据时,在Power Query Editor中创建一个新的变量,每次我决定编辑我的查询时,都必须重现这一过程。

3.评论和昵称

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

这两个是相对简单的,但这两个的用法需要学习。对我来说,我最初并没有在我的SQL查询中插入任何注释。然而,当我在SQL查询中寻求帮助时,我遇到了问题。我经常不记得我的查询想要完成什么,而注释提供了一个注释,使同行能够帮助我编辑我的查询。

在SQL查询旅程的另一端,昵称很简单,但对学习最佳实践很重要。我用数据创建的仪表盘的终端用户分布在全球各地。一个在加拿大的终端用户对某一列的值有一个与我的数据库中不同的名称,而创建与他们的期望相匹配的昵称可以在开始时减少混乱。

要插入一个会被忽略的注释,首先要用两个或三个破折号来引导。这将使你的文字在Management Studio中变成绿色,并且在查询中会被忽略。要命名,在列名后面加一个 "AS "语句,用单引号或双引号写上你的昵称。

我的数据之旅是从学习SAS的代码开始的,然后是R,最后是Python。我曾有过几次利用SAS的编码技巧提取小数据集的经历。然而,这些语言都没有像SQL那样为我提供创建端到端数据流程的分析工具的能力。

我在这个岗位上最大的收获就是掌握了工作的主动权,包括在流程的前端提取数据。有了我正在努力通过SQL获得的技能,我就有了看到自己工作完成的满足感。