選取查詢使用SELECT指令,用於將一 個或多個資料表的特定資料選取出來
這也是非常常用的功能,所以特別開一篇詳細說明
大括號為必填欄位,例如要選擇那些內容?從哪個table裡選擇
中括號代表的是選填欄位,一些條件之類的
WHERE用來建立篩選的條件,可用的條件分為
很像if判斷式,用 = 或是 != 來判斷,文字部分要用單引號 ' 框起來
當條件比較模糊的時候,就把等號改成 LIKE 來做比對,有兩種方式
同樣可以使用 = 和 != 做比對,同時也可以用 >, < 以及BETWEEN 做比對
且數字部分不加單引號
剛才的查詢方式也可以用在日期上面,日期視同文字,需要加上單引號
也可以用 > 或是 < 找出特定日期前後的內容
和PHP一樣我們可以用 AND 和 OR 做多個條件的查詢
這也是非常常用的功能,所以特別開一篇詳細說明
SELECT {*|欄位} [AS別名]
FROM {table_name}
[WHERE 過濾條件]
[GROUP BY 群組項目,…]
[ORDER BY 排序條件[ASC|DESC], …]
[LIMIT [offset,]rows]
大括號為必填欄位,例如要選擇那些內容?從哪個table裡選擇
中括號代表的是選填欄位,一些條件之類的
WHERE
WHERE用來建立篩選的條件,可用的條件分為
- 文字查詢
- 數字查詢
- 日期查詢
- 多重查詢
文字查詢
很像if判斷式,用 = 或是 != 來判斷,文字部分要用單引號 ' 框起來
SELECT * FROM books WHERE booksAuthor ='Allan';
以上是從books 這個資料表,選擇出符合booksAuthor = 'Allan' 的所有欄位
當條件比較模糊的時候,就把等號改成 LIKE 來做比對,有兩種方式
- % (百分比)代表前/後任何 n 個字元
- WHERE 欄位 LIKE'[%]文字[%]'
- _ (底線) 代表前/後任何1 個字元
- WHERE 欄位 LIKE'[_]文字[_]'
數字查詢
同樣可以使用 = 和 != 做比對,同時也可以用 >, < 以及BETWEEN 做比對
且數字部分不加單引號
SELECT * FROM books WHERE booksPrice > 750;
上面的語法是把books裡面,價錢 > 750的書給找出來
SELECT * FROM books WHERE booksPages BETWEEN 400 AND 800;
把books裡面,頁數介於400~800的書給查詢出來
日期查詢
剛才的查詢方式也可以用在日期上面,日期視同文字,需要加上單引號
也可以用 > 或是 < 找出特定日期前後的內容
SELECT * FROM books WHERE booksPublish
BETWEEN '2011-01-01' AND'2011-06-30';
多重查詢
和PHP一樣我們可以用 AND 和 OR 做多個條件的查詢
找出售價$1,000 內,且頁數大於400的書
SELECT * FROM books
WHERE booksPages > 400 AND booksPrice找出書名為「天」開頭,或作者為Frank的書
SELECT * FROM books
WHERE booksName LIKE '天%' OR booksAuthor ='Frank';AS 子句使用
我們可以在SQL指令中做一些計算來取得原本不存在的欄位
例如原本我們想知道這本書墊泡麵,或是壓桌腳的CP值高不高?
所以我們用 booksPages/booksPrice 來了解這本書 一頁要多少錢?
結果如下
可以看到是他是成功把所求的值找出來了,但是欄位名稱就是booksPages/booksPrice
太長了不方便,所以我們用 AS 來賦予他一個代稱'cost'
所以AS的用處就是:暫存在某個不存在的 欄位,以方便我們顯示
例如下面的圖片顯示
以上就是關於一些常用到的基礎查詢方式
下一篇要介紹的是mySQL裡面的內建函數,還有進階的查詢方法
留言
張貼留言