5种我使用ChatGPT来提升我的SQL技能的方法

Photo by Bruno Nascimento on Unsplash

作为一名数据分析师,我发现ChatGPT在提升我的SQL技能方面非常有帮助。我在许多方面使用ChatGPT,包括检查我写的SQL代码中的语法错误,查看错误信息,添加注释等等。

与ChatGPT互动有关SQL概念时,请遵循Maven Analytics数据分析课程"ChatGPT for Data Analytics"中提供的以下优秀建议:

尽可能保持HTML结构不变,将以下英文文本翻译为简体中文: 请尽量清楚明确地提供表格名称、描述等上下文信息。

使用角色来增加上下文,并确定回应的口气和复杂度。

提供代码示例并请求总结或逐行解释

迭代并使用后续提示,直到达到您所需的关注点和详细程度(请记住 - 初始解决方案可能是不正确的!)

以下是我在过去一周内使用ChatGPT提高SQL技能的五种方式!

1. 请向ChatGPT询问,检查您的SQL代码是否存在语法错误。

在将您的代码输入到SQL Server之前,您可以在ChatGPT中输入它以纠正任何明显的语法错误。在这种情况下,我向ChatGPT提问:“您能帮我检查下这段SQL代码是否存在语法错误吗?”并粘贴了我的代码。

重要声明: 如果您正在处理机密数据,请在将其粘贴到ChatGPT之前更改表和模式的名称。您还可以更改某些列或查询的名称。

I asked ChatGPT to review my SQL code for syntax errors.

下面你可以看到ChatGPT捕捉到了语法错误,但并没有明确列出所有的错误。

在最后一行代码上,我故意省略了最后的引号和分号。

WHERE [姓氏] = '米勒' AND [工作报告日期] >= '2013-01-01'

ChatGPT没有在文本框中列出此错误,但是它在底部的SQL代码中纠正了此错误。

这里的教训是:ChatGPT可以帮助您校对SQL查询,但您应该同时阅读错误列表和底部的SQL代码。两者之间可能会有差异。

2. 学习SQL函数之间的区别,了解哪个对于您的使用案例来说是最佳选择。

有时候,您可能不知道最好的SQL函数该如何使用,ChatGPT可以帮助您解决这个问题。上周,我在一个数据项目中工作,需要在SQL查询的开始将数据字段转换为整数。我不知道是否应该使用“CAST”还是“CONVERT”函数,所以我向ChatGPT提问:

"

SQL 中 CAST 和 CONVERT 函数有什么区别?在这种情况下我应该使用哪个?

"
ChatGPT description of CAST function
ChatGPT description of CONVERT function, and when to use CONVERT vs. CAST.

在我向ChatGPT描述了使用情境后,它给出了建议。

鉴于您需要将各种字段(例如“签约奖金”、“基本工资”等)转换为整数,并且对于格式(特别是日期和时间)没有具体要求的情况下,使用CAST函数将足够且更加标准化。在进行转换时,使用CAST函数以确保广泛兼容性,除非您有特定的理由需要格式化数据,此时如果您的数据库系统支持,可以使用CONVERT函数。

3. 请用简明的中文描述您希望的 SQL 代码的功能,并请求 ChatGPT 帮助您编写。

有时候你知道如何用简单的英语表达出你希望SQL代码对你的数据做什么,但是你不知道该使用哪些函数以及使用的顺序。在这种情况下,ChatGPT可以为你提供一个很好的起点。

在下面的例子中,我列出了我想要使用的函数以及我想要替换的字段值。但是,即使你不知道要使用什么函数,你也可以通过描述你想要做的事情开始,然后再从那里开始!

I asked ChatGPT to help me write a CASE statement in SQL.

我喜欢ChatGPT给我提供了SQL代码,并且还分解了每一行语句,这样我就可以理解每行代码的作用并根据需要进行编辑。

4. 如果SQL代码没有给您需要的输出,请编辑它。

ChatGPT的一个我最喜欢的方面是来回的消息交流——你可以向它寻求帮助,它会给出回答,你还可以反馈并要求修订的回复。如果SQL代码没有按我期望的方式执行,我可以打开ChatGPT并给它以下内容:

  • 我目前正在使用的代码
  • 我期望的输出
  • 输出实际是什么
  • 任何错误信息我收到

在下面的示例中,我要求ChatGPT更改我的SQL代码,以便只有一个列标记为性别。

I asked ChatGPT to help me modify my CASE statement in SQL.

5. 请向ChatGPT询问SQL代码的含义解析。

如果您正在检查旧的SQL代码,并且不理解其含义,您可以将其复制并粘贴到ChatGPT中,并要求它为您分解查询。一如既往,在处理敏感数据时,请记得在输入ChatGPT之前,出于安全目的更改表名和架构名。

在下面的简单ChatGPT提示中,我要求它解释一个简单的SQL语句:

I asked ChatGPT to help me understand a SQL statement.
ChatGPT broke down each aspect of my SQL code.

你的SQL代码可能比这个更复杂(或更简单)。如果SQL代码太长,你可以将它分成几部分通过ChatGPT来消化,并添加注释来帮助自己记住每个部分的含义。

例如,以下是ChatGPT提示中的HTML代码,我提供了我的SQL代码,并要求ChatGPT添加注释,这样我就可以记住每个部分的作用。

I asked ChatGPT to help comment out my SQL code.
ChatGPT added comments to my SQL code.

ChatGPT对我的SQL代码添加了注释,但是太多了!我不需要对[名字]做注释,说明它表示名字,也不需要对[姓氏]做注释,说明它表示姓氏,以此类推。

然而,最后还是有一些有用的评论。

在 WHERE 前对 SQL 查询所之结果进行过滤,使结果只包括姓为「米勒」的学生。

AND [报告日期] >= ‘2013–01–01’; — 进一步筛选,只包括2013年及以后的工作报告

我要求ChatGPT修改上面的SQL代码,只包含在WHERE子句中的行的注释,因为我发现这些是最有帮助的。

最后的思考

ChatGPT非常适合提高您的SQL技能,包括:

  • 将您的提示从纯英文翻译成SQL代码(或至少给您一个很好的起点!)
  • 在你的代码中添加注释,这样你就能理解每一行查询。
  • 故障排除错误消息或编辑代码以导致您想要的输出。
  • 描述函数之间的区别,并帮助您确定最适合您使用场景的函数。
  • 给你SQL语句的基本语法(例如,“在SQL中创建表的基本语法是什么?”)

无论你是刚开始作为数据分析师,还是在分析领域已经多年,ChatGPT 都是你工具箱中必备的工具。

更多信息:

想要了解更多关于ChatGPT和数据分析的信息,请查看免费的Maven Analytics课程“ChatGPT for Data Analytics”,该课程使用ChatGPT和Bard,以更智能、更快速地利用Excel、Google Sheets、Power BI、SQL和Python进行工作。

外聘提交的内容,未必代表Maven Analytics或其团队成员的观点或工作。

我们坚信培养终身学习,并致力于为数据社区提供一个平台,让他们分享自己的工作并从Maven Analytics数据团队中寻求反馈。

快乐学习!

- 团队Maven

2024-02-15 04:25:59 AI中文站翻译自原文