图片来自微软设计器
ChatGPT可以做很多很酷的事情。其中之一就是写代码。用户只需要给出正确的指令,ChatGPT就会完成这项工作。
如果你想学习SQL,ChatGPT是一个很好的入门资源。它可以帮助你用自然语言创建SQL查询,解决可能遇到的任何编码问题,甚至帮助你理解你不理解的预定义查询。
本文将概述如何使用ChatGPT来学习SQL,并熟练掌握这一宝贵的技能。
首先,ChatGPT究竟是什么?
ChatGPT是一个由OpenAI训练的大型语言模型。它能够根据收到的输入生成类似人类的文本,并可用于回答问题和与人进行对话。
所以基本上,用户可以利用它的知识 --以及它以非常简单和人性化的方式告诉用户任何事情的能力--来理解SQL并从中学习。
第1步:设置ChatGPT
要开始使用ChatGPT,需要在ChatGPT|OpenAI官网注册一个账户。
ChatGPT注册界面
必须提供电子邮件地址和电话号码才能开始使用ChatGPT。
第2步:学习如何与ChatGPT互动
一旦启用了ChatGPT,应该看到以下显示:
ChatGPT聊天显示的截图
在下面的输入框中,用户可以写下任何东西来开始与ChatGPT互动。
ChatGPT回复了我的第一条信息。
第三步:问任何你能想到的问题 —— 它将回答你。
所以现在可以开始问ChatGPT任何问题。本文将专注于学习SQL。通过使用ChatGPT,我们可以要求做5件主要的事情来提高我们的SQL技能。
1.给用户解释一下SQL中的任何概念或命令
当遇到一门新的编程语言时,我们通常会对每一个命令都有很多疑惑和困惑。ChatGPT可以通过简单的解释帮助理解任何命令,并根据要求提供尽可能多的用法示例。
本文从SQL中最基本的东西开始——SELECT
命令。
请简短地解释一下什么是
SELECT
命令,并举例说明如何使用它。
ChatGPT回答了一个解释SELECT
命令的简短答案,并给出了最基本的例子:SELECT*FROM
。
ChatGPT聊天的截图。
但是,可以进一步询问SELECT
命令。
请解释一下什么是
SELECT
命令以及一些演示如何使用它的示例。
正如你在下面的图片中所观察到的,ChatGPT解释了该命令基本原理的内容,并给出了一些使用的例子。
ChatGPT聊天的截图。给出了更多SELECT命令的例子。
可以尝试询问任何能想象到的命令,比如说一个更有挑战性的命令,如HAVING
。
给我一些SQL中的
HAVING
命令的例子。
而ChatGPT给出了如下几个例子来回答:
SELECT
name,
salary
FROM employees
GROUP BY name
HAVING salary > (SELECT AVG(salary) FROM employees);
SELECT
name
FROM customers
WHERE customer_id
IN
(
SELECT customer_id
FROM orders
WHERE date >= DATEADD(year, -1, GETDATE())
GROUP BY customer_id
HAVING COUNT(*) > 10
);
当然,可以继续要求更多的解释和更多的例子。试试能想到的任何其他命令,它马上就会回答。
2.可以询问如何在SQL中做某事,ChatGPT会让你知道要使用什么命令(或几个命令)。
可以问如何做一个特定的动作,ChatGPT会让我知道我需要使用什么命令。
我想合并两个表,应该在SQL中使用什么命令?
ChatGPT回答可以使用任意join
命令,可以在下面的图片中看到:
ChatGPT聊天的截图。解释如何合并两个表格。
然而,我知道我只是想在某些特定列中的行有重合值时连接两个表。在这种情况下,我可以再询问一下,了解一下我应该使用什么命令。
我想连接两个表,只获取在某些给定的列中有一致值的数据。
我想连接两个表,只想获得在某些给定列中有重合值的数据。
因此,ChatGPT让我知道只有INNER JOIN
允许这样做,可以在下面的图片中看到:
ChatGPT聊天的截图。解释了如何合并两个表,并只是保持重合的数值。
它给出了相应的查询:
SELECT
*
FROM table1
INNER JOIN table2
ON table1.id = table2.id
AND table1.name = table2.name;
3.可以要求ChatGPT使用自然语言创建查询
现在让我们想象一下,我知道我需要什么结果,但我没有如何制定这个查询的任何想法。我可以简单地向ChatGPT解释我想做什么,它就会给我一个让我遵循的结构。因此,我可以按照ChatGPT的例子学习如何构造查询。
请向我解释一下如何创建一个SQL查询,计算出欧洲最昂贵的城市,并在表中列出每个城市不同商品的价格。
ChatGPT马上回答我,你可以在下面的图片中看到:
ChatGPT给出了一个查询的例子,并解释了这个查询的作用。
4.可以询问ChatGPT,它会向你解释查询是如何进行的。
现在让我们想象一下,你正在做从一个生病的同事那里接手的工作,但是你不理解他的查询——有些人的编码方式很混乱,或者你可能只是觉得很懒,不想浪费太多时间去理解别人的查询。
这很正常——可以用ChatGPT来避免这项任务。我们可以很容易地要求ChatGPT解释一个给定的查询。
假设我们想了解下面这个查询是做什么的:
下面的查询是做什么的:[在此插入查询]
ChatGPT就会马上回答:
ChatGPT聊天的截图。它解释了一个给定的查询是做什么的。
正如在前面的图片中所看到的,ChatGPT一步一步地解释了这个查询的作用。
首先,它解释了所有包含的子查询和它们的作用。然后,它解释了最终的查询,以及它如何使用前面的子查询来合并所有的数据。我们甚至可以要求在一个给定的子查询中提供更详细的解释。
你能进一步解释前面查询的第二个子查询是做什么的吗?
ChatGPT聊天的截图。它进一步解释了给定查询的第二个子查询的作用。
正如在前面的图片中所看到的,ChatGPT详细解释了第二个子查询的内容。
用户可以用能想到的任何查询来挑战ChatGPT!
5.可以要求ChatGPT用练习来帮助你提升。
ChatGPT最好的部分就是可以要求它提供一些练习和答案来练习和测试你的技能。它甚至可以告诉你,你什么时候做得好——或者不好。
你能给我一些练习来练习SQL吗
ChatGPT的截图,给我一些练习SQL的练习。
现在ChatGPT告诉我一些需要执行的问题。在这种情况下,我可以尝试解决第一个问题,并询问ChatGPT我的解决方案是否正确。
下面的查询对于前面第一个练习的答案是否正确[插入查询]
ChatGPT将回答并写出是否正确及原因。
ChatGPT的截图,回答我编码的查询是否正确。
我可以询问前面每个例子的正确答案:
你能给我前面练习的正确答案吗?
而在下面的图片中可以看到,ChatGPT会给出我所有正确的查询结果。
⚠️注意到ChatGPT提供给我的答案和我提供的被检查的答案是完全不同的。
总结
在今天这个数据驱动的世界里,SQL是一项有价值的技能。通过使用ChatGPT来学习基础知识和练习技能,可以熟练掌握SQL。通过持续的学习和练习,可以继续扩大你的技能,并使用这个工具在你的数据职业生活中实现飞跃。