學(xué)習(xí)效率翻倍,用ChatGPT來學(xué)習(xí)SQL數(shù)據(jù)分析
ChatGPT可以做很多很酷的事情。其中之一就是寫代碼。用戶只需要給出正確的指令,ChatGPT就會完成這項工作。
如果你想學(xué)習(xí)SQL,ChatGPT是一個很好的入門資源。它可以幫助你用自然語言創(chuàng)建SQL查詢,解決可能遇到的任何編碼問題,甚至幫助你理解你不理解的預(yù)定義查詢。
本文將概述如何使用ChatGPT來學(xué)習(xí)SQL,并熟練掌握這一寶貴的技能。
首先,ChatGPT究竟是什么?
ChatGPT是一個由OpenAI訓(xùn)練的大型語言模型。它能夠根據(jù)收到的輸入生成類似人類的文本,并可用于回答問題和與人進行對話。
所以基本上,用戶可以利用它的知識 --以及它以非常簡單和人性化的方式告訴用戶任何事情的能力--來理解SQL并從中學(xué)習(xí)。
第1步:設(shè)置ChatGPT
要開始使用ChatGPT,需要在ChatGPT|OpenAI官網(wǎng)注冊一個賬戶。
ChatGPT注冊界面
必須提供電子郵件地址和電話號碼才能開始使用ChatGPT。
第2步:學(xué)習(xí)如何與ChatGPT互動
一旦啟用了ChatGPT,應(yīng)該看到以下顯示:
ChatGPT聊天顯示的截圖
在下面的輸入框中,用戶可以寫下任何東西來開始與ChatGPT互動。
ChatGPT回復(fù)了我的第一條信息。
第三步:問任何你能想到的問題 —— 它將回答你。
所以現(xiàn)在可以開始問ChatGPT任何問題。本文將專注于學(xué)習(xí)SQL。通過使用ChatGPT,我們可以要求做5件主要的事情來提高我們的SQL技能。
1.給用戶解釋一下SQL中的任何概念或命令
當遇到一門新的編程語言時,我們通常會對每一個命令都有很多疑惑和困惑。ChatGPT可以通過簡單的解釋幫助理解任何命令,并根據(jù)要求提供盡可能多的用法示例。
本文從SQL中最基本的東西開始——SELECT命令。
請簡短地解釋一下什么是SELECT命令,并舉例說明如何使用它。
ChatGPT回答了一個解釋SELECT命令的簡短答案,并給出了最基本的例子:SELECT*FROM。
ChatGPT聊天的截圖。
但是,可以進一步詢問SELECT命令。
請解釋一下什么是SELECT命令以及一些演示如何使用它的示例。
正如你在下面的圖片中所觀察到的,ChatGPT解釋了該命令基本原理的內(nèi)容,并給出了一些使用的例子。
ChatGPT聊天的截圖。給出了更多SELECT命令的例子。
可以嘗試詢問任何能想象到的命令,比如說一個更有挑戰(zhàn)性的命令,如HAVING。
給我一些SQL中的HAVING命令的例子。
而ChatGPT給出了如下幾個例子來回答:
- 要查找所有收入高于平均工資的員工的名字和工資,可以使用如下查詢:
SELECT
name,
salary
FROM employees
GROUP BY name
HAVING salary > (SELECT AVG(salary) FROM employees);
- 要查找過去一年中下過10個以上訂單的所有客戶的名字,可以使用如下查詢:
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
);
當然,可以繼續(xù)要求更多的解釋和更多的例子。試試能想到的任何其他命令,它馬上就會回答。
2.可以詢問如何在SQL中做某事,ChatGPT會讓你知道要使用什么命令(或幾個命令)。
可以問如何做一個特定的動作,ChatGPT會讓我知道我需要使用什么命令。
我想合并兩個表,應(yīng)該在SQL中使用什么命令?
ChatGPT回答可以使用任意join命令,可以在下面的圖片中看到:
ChatGPT聊天的截圖。解釋如何合并兩個表格。
然而,我知道我只是想在某些特定列中的行有重合值時連接兩個表。在這種情況下,我可以再詢問一下,了解一下我應(yīng)該使用什么命令。
我想連接兩個表,只獲取在某些給定的列中有一致值的數(shù)據(jù)。
我想連接兩個表,只想獲得在某些給定列中有重合值的數(shù)據(jù)。
因此,ChatGPT讓我知道只有INNER JOIN允許這樣做,可以在下面的圖片中看到:
ChatGPT聊天的截圖。解釋了如何合并兩個表,并只是保持重合的數(shù)值。
它給出了相應(yīng)的查詢:
SELECT
*
FROM table1
INNER JOIN table2
ON table1.id = table2.id
AND table1.name = table2.name;
3.可以要求ChatGPT使用自然語言創(chuàng)建查詢
現(xiàn)在讓我們想象一下,我知道我需要什么結(jié)果,但我沒有如何制定這個查詢的任何想法。我可以簡單地向ChatGPT解釋我想做什么,它就會給我一個讓我遵循的結(jié)構(gòu)。因此,我可以按照ChatGPT的例子學(xué)習(xí)如何構(gòu)造查詢。
請向我解釋一下如何創(chuàng)建一個SQL查詢,計算出歐洲最昂貴的城市,并在表中列出每個城市不同商品的價格。
ChatGPT馬上回答我,你可以在下面的圖片中看到:
ChatGPT給出了一個查詢的例子,并解釋了這個查詢的作用。
4.可以詢問ChatGPT,它會向你解釋查詢是如何進行的。
現(xiàn)在讓我們想象一下,你正在做從一個生病的同事那里接手的工作,但是你不理解他的查詢——有些人的編碼方式很混亂,或者你可能只是覺得很懶,不想浪費太多時間去理解別人的查詢。
這很正常——可以用ChatGPT來避免這項任務(wù)。我們可以很容易地要求ChatGPT解釋一個給定的查詢。
假設(shè)我們想了解下面這個查詢是做什么的:
下面的查詢是做什么的:[在此插入查詢]
ChatGPT就會馬上回答:
ChatGPT聊天的截圖。它解釋了一個給定的查詢是做什么的。
正如在前面的圖片中所看到的,ChatGPT一步一步地解釋了這個查詢的作用。
首先,它解釋了所有包含的子查詢和它們的作用。然后,它解釋了最終的查詢,以及它如何使用前面的子查詢來合并所有的數(shù)據(jù)。我們甚至可以要求在一個給定的子查詢中提供更詳細的解釋。
你能進一步解釋前面查詢的第二個子查詢是做什么的嗎?
ChatGPT聊天的截圖。它進一步解釋了給定查詢的第二個子查詢的作用。
正如在前面的圖片中所看到的,ChatGPT詳細解釋了第二個子查詢的內(nèi)容。
用戶可以用能想到的任何查詢來挑戰(zhàn)ChatGPT!
5.可以要求ChatGPT用練習(xí)來幫助你提升。
ChatGPT最好的部分就是可以要求它提供一些練習(xí)和答案來練習(xí)和測試你的技能。它甚至可以告訴你,你什么時候做得好——或者不好。
你能給我一些練習(xí)來練習(xí)SQL嗎
ChatGPT的截圖,給我一些練習(xí)SQL的練習(xí)。
現(xiàn)在ChatGPT告訴我一些需要執(zhí)行的問題。在這種情況下,我可以嘗試解決第一個問題,并詢問ChatGPT我的解決方案是否正確。
下面的查詢對于前面第一個練習(xí)的答案是否正確[插入查詢]
ChatGPT將回答并寫出是否正確及原因。
ChatGPT的截圖,回答我編碼的查詢是否正確。
我可以詢問前面每個例子的正確答案:
你能給我前面練習(xí)的正確答案嗎?
而在下面的圖片中可以看到,ChatGPT會給出我所有正確的查詢結(jié)果。
??注意到ChatGPT提供給我的答案和我提供的被檢查的答案是完全不同的。
總結(jié)
在今天這個數(shù)據(jù)驅(qū)動的世界里,SQL是一項有價值的技能。通過使用ChatGPT來學(xué)習(xí)基礎(chǔ)知識和練習(xí)技能,可以熟練掌握SQL。通過持續(xù)的學(xué)習(xí)和練習(xí),可以繼續(xù)擴大你的技能,并使用這個工具在你的數(shù)據(jù)職業(yè)生活中實現(xiàn)飛躍。