【範例TABLE】

 
    employee 
 No ID
Name
Age
1  A123456789  張三  56
2  B987654321  李四  30
3  C112233445  王五  21










SELECT是一種從Table(就是這整個employee)拿東西出來的語句。

首先,用個簡單的範例來看吧~

Select * from employee

這個Select,翻成中文,就像是「拿」,而*符號呢~表示「全部」的意思,From就是「從什麼地方」的意思,最後就是從哪個Table來拿。

全句的意思,就是「從employee這個Table,拿所有的資料給我!」

所以,這樣會取得上面這個Table的所有資料(從橫的看,就是1、2、3這三行的資料)

No,ID,Name,Age這些字呢~是Table裡的「標頭」,代表下方的資料有個「名字」一樣。

資料有了名字之後,就可以用來當做「查詢條件」的依據囉~

例如,我想找李四這個人的資料,就可以用條件式來查。

Select * from employee where Name='李四'

where這個關鍵字,是表示在這個字之後的,就是條件的意思。

所以,上述的語句的意思,就變成「從employee這個Table,拿Name叫做”李四”的人給我!」

於是,就只取到李四的資料(從橫的看,就是2這一行的資料)

依此類推,要查哪一行,就看你要用什麼條件下去查詢囉!

Select * from employee where ID='A123456789'

Select * from employee where Age=30

嗯?不知道有沒有發現,為何有的條件要加上兩個單引號,有的卻不用呢?

這個問題,常常把初學SQL的人,弄到抓狂,其實你只要確認Table裡,該「標頭」是偏文字(Ex: varchar , char...)的?還是偏數字(Int,decimal,double...)的?就知道了。

只要是文字型的,就要加單引號,數字型的就不能加,如此而已。

最後,再說明一件事就結束今天的初級課程囉。

「標頭」是可以單獨被抓出來的。

Select No,Name from employee where Age=30

這樣就只會抓出這兩個標頭的資料,而且條件符合才會顯示的唷~



【撰寫經驗談】

看Table這個東西,常常會讓初學者覺得是一堆專有名詞,像是Table啦~Field啦~column啦~Row什麼的。

讓人搞不清楚,最後要嘛是開始翻書(還翻中文)找,要嘛就嫌麻煩而放棄了。

其實,用一些擬人法去想像,會很容易建構好一個正確的觀念。

舉例來說,一個Table就像一個班,在操場上排排好,每個排都有排長,排長有個名字。

Select * from 這個班 where 排='第一排'

似乎會更容易懂喔~XD

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鋼琴鈴 的頭像
    鋼琴鈴

    搖搖鋼琴鈴

    鋼琴鈴 發表在 痞客邦 留言(0) 人氣()