iT邦幫忙

1

完全沒接觸過,一日自己摸索SQL的自學記錄

sql

本文僅記錄自己的學習方法,
若讀者自己有更好的學習方法不必看我的

最近因工作需求需要知道SQL是什麼東西,
以前未接觸過,
利用一天的時間快速自己摸索了一下

可能自己程式學的還算多,
要適應一種新的語法適應是算蠻快的

大概記錄下自己的理解

  • 用途: SQL是用來從資料庫中抓取資料的語言,而資料庫顧名思義就是儲存資料的地方

這個網站SQL語法教學蠻詳細的記載SQL的基礎語法,
感覺上值得一看

另外零基礎快速自學SQL,1天足矣—附最全SQL學習資源和練習題!這個網站對SQL的概念也寫的不錯

自己的學習策略

快速看過基礎語法->用Hackerrank上的題目實際演練

在自己電腦本機上學安裝資料庫感覺上不是首要學習目標,
想要先會操作語法即可,
先實際操作看看才有感覺,
若是先自己嘗試建資料庫感覺上費時費力

基礎語法

就自己研究後,最基礎常用的語法形式大致上如下

從資料表中選取全部資料

select * from 資料表名稱

從資料表中選取特定欄位

select 欄位 from 資料表名稱

從資料表中選取多個特定條件

select 欄位 from 資料表名稱
where 條件1
and 條件2
and 條件3 
...

另外,自己發現SQL的特點似乎語法上蠻自由的,
大小寫皆可,
像是寫selectSELECT皆可,
另外要換行還是空格都沒關係,
像是

select 欄位 from 資料表名稱

寫成

select 欄位 
from 資料表名稱

也是可以的

題目演練

首先進入hackerrank的第一題- Revising the Select Query I
(在hackerrank上選語言「MySQL」,如圖示)

https://ithelp.ithome.com.tw/upload/images/20200725/20117114pEikMu7E1M.png

題意:
資料表名稱「CITY」,有五個欄位為「ID」、「NAME」(應該是指城市名稱)、「CountryCode」(國家代號之類的)、「district」(區)、「population」(人口數量)
把這張資料表中的美國城市人口數量大於100000的資料選出來。
(美國的「CountryCode」為「USA」)

參考答案:

select * from city
where CountryCode = "USA"
and population>100000

其實稍微操作一下之後,我發現其實基礎語法還蠻口語的很好懂,
講一個跟一般程式語言不太一樣的地方,
像是條件判斷CountryCode = "USA"
一般程式語言判斷相等常用兩個等號==
這邊只用一個等號倒是有點特別

心得:
我自己做了幾題後,對SQL的用法大概有感覺,有心自學的人可以試試看。
題目也可以單純的一題一題做下來,難度不致過大,
前面的題目大致上用基礎形式很多都能解:

select 欄位 from 資料表名稱
where 條件

真的寫不出來也可以查SQL語法教學的語法或看hackerrank上的討論區找解答


尚未有邦友留言

立即登入留言