介紹
所以您想學習SQL? 太好了,你應該!
您是否知道,這是數據分析師和數據工程師最需要的第一技能,而數據科學家則是第三要的技能?
在本文中,我將向您解釋如何以最簡單的方式使用SQL查詢。 但首先,讓我定義幾個術語……
定義
行,也稱為記錄,是代表單個實體的屬性(變量)的集合。 例如,一行可能代表一名醫院患者,并且可能具有屬性/變量,例如年齡,體重,身高等。
表是具有相同屬性(具有相同變量)的行的集合。 最能幫助我的是將表格視為Excel表格。
example of a table
查詢是從數據庫表或表組合中獲取數據的請求。 如果要查找所有23歲以上的患者,請使用上表進行查詢。
如何編寫SQL
由于這是面向初學者的教程,因此,我將向您展示如何從一個表中提取數據時如何編寫查詢。
基本查詢包含五個組件:
· SELECT(必填)
· FROM(強制性)
· 在哪里(可選)
· GROUP BY(可選)
· ORDER BY(可選)
結構如下:
SELECT [column_name_1], [column_name_2], [column_name_n]FROM [table_name]WHERE [condition 1]GROUP BY [column_name] ORDER BY [column_name]
讓我們帶回我的示例作為參考:
1.SELECT(必填)
SELECT確定要從給定表中提取哪些列。 例如,如果我想提取名稱,那么我的代碼將如下所示:
SELECT Name
一個巧妙的技巧是,如果要提取所有列,可以使用星號-參見下文:
SELECT *
2.FROM(必填)
FROM確定要從中提取信息的表。 例如,如果您要提取患者的姓名,則需要從名為Patient_info的表中提取數據(請參見上文)。 代碼看起來像這樣:
SELECT NameFROM patient_info
這是您的第一個功能查詢! 讓我們完成另外3個可選步驟。
3. WHERE(可選)
如果要選擇23歲以上患者的姓名怎么辦? 這是WHERE傳入的時間。WHERE是用于過濾表的語句,與在Excel中使用過濾工具的方式相同!
左側是獲取23歲以上患者姓名的代碼。 右側顯示了一個直觀的表示形式:
如果希望滿足兩個子句的患者姓名,可以使用AND。 例如。 查找年齡超過23磅且體重超過130磅的患者的姓名。
SELECT NameFROM patient_infoWHERE Age 》 23 AND Weight_lbs 》 130
如果要滿足兩個子句之一的患者姓名,可以使用OR。 例如。 查找22歲以下或23歲以上的患者的姓名。
SELECT NameFROM patient_infoWHERE Age 《 22 OR Age 》 23
4. GROUP BY(可選)
GROUP BY會執行它所說的—將具有相同值的行分組為摘要行。 它通常與諸如COUNT,MIN,MAX,SUM,AVG之類的聚合函數一起使用。
讓我們使用下面的示例:
如果我們想獲取每位患者的醫院就診次數,則可以使用下面的代碼并獲得以下結果:
5. ORDER BY(可選)
ORDER BY使您可以基于特定屬性或多個屬性以升序或降序對結果進行排序。 讓我們舉個例子。
SELECT *FROM patient_infoORDER BY Age asc
“ ORDER BY Age asc”表示您的結果集將按年齡按升序對行進行排序(請參見上圖中的左表)。 如果要按降序排列(上圖中的右表),則將desc替換為asc。
-
SQL
+關注
關注
1文章
760瀏覽量
44082 -
數據庫
+關注
關注
7文章
3767瀏覽量
64280 -
變量
+關注
關注
0文章
613瀏覽量
28334
發布評論請先 登錄
相關推薦
評論