SQL語法整理

最近因為工作關係,要開始接觸網頁後端了,於是複習了一下SQL的語法,順便將它整理下來。

網頁後端

在公司都叫Server,顧名思義,主要是處理伺服器的工作,而在網頁的工作中,就是負責資料庫伺服器的架構還有傳輸、效率等問題的任務囉。



資料庫

資料庫簡單的來說,就是由許多資料表所組成的一個大集合,而資料表就像是表格,每個欄位都有它的資料型態,像是數字、日期、文字等...。料庫的任務,就是將這些存著許多紀錄或資料的內容,透過 新增、刪除、修改、查詢 這四個指令來給各個網頁功能使用,像是註冊就必須新增會員的資料,到資料庫中的會員資料表內。





SQL語法



範例使用的資料庫


接下來會根據範例資料庫用幾個常見的指令,進行查詢展示以及說明,而指令區分為必要跟次要的差別,必要的為「SELECT」&「FROM」,因為要查詢就一定要指定從哪查詢,而其他的指令就是看需要的時候使用了,因此為次要。

1.「SELECT」&「FROM」

SELECT - 抓取欄位
FROM    - 抓取資料表

SELECT *  FROM ProductSet  → 從ProductSet 資料表 抓取 * (所有欄位)



SELECT *  FROM ProductSet  → 從ProductSet 資料表 抓取 Name欄位


SELECT Name , Price  FROM ProductSet  → 從ProductSet 資料表 同時抓取Name、Price欄位

2.「WHERE」-條件 

SELECT  *  FROM ProductSet Where Price >= 10 → 抓出 Price欄位中大於等於10的資料


SELECT  *  FROM ProductSet Where Price >= 10 AND Id >4 → 抓出 Price欄位中大於等於10 且 Id欄位中大於4的資料

※ AND是要全條件都符合才成立。

SELECT  *  FROM ProductSet Where Price >= 10 OR Id >4 → 抓出 Price欄位中大於等於10 或 Id欄位中大於4的資料


※OR是只要符合其中一個條件即可成立。



3.「ORDER BY」-排序

ORDER BY 欄位名稱 (ASC or DESC)
ASC 小到大 (預設,可不寫)
DESC 大到小

SELECT *  FROM ProductSet ORDER BY Price ASC → 以Price排序,由小到大



SELECT *  FROM ProductSet ORDER BY Price → 省略掉ASC,一樣Price排序,由小到大



SELECT *  FROM ProductSet ORDER BY Price  DESC→  以Price欄位排序,由大到小



4. 運算&別名

在獲取欄位資料時,也可以透過數學運算式取得新的資料,像是假設有一欄位為價格,此時需要在有一個欄位需要儲存漲價後的價格,這時,就可以在獲取欄位時+10,藉此更便於之後服務的處理,再來,由於是新增的欄位,所以沒有資料行名稱,所以可以透過"AS",來給予名稱,或叫做更名,同時AS也可以用空一格來代替。

SELECT * , Price+10 FROM ProductSet  →  除了找出所有欄位 外 在新增一個將每一筆Price+10的欄位 


SELECT * , Price+10 AS increases FROM ProductSet  → 對新增的欄位,透過AS更名為increases


SELECT * , Price+10 AS increases FROM ProductSet  → 對新增的欄位,透過 空格 更名為increases

留言

這個網誌中的熱門文章

Arduino小實驗 - 按鈕霹靂燈