【範例TABLE】
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
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
全站熱搜
留言列表