mysql 的 查找 :
SELECT name,age FROM mytable; # 在mytable 中所有的name,age 數據
SELECT name,age FROM mytable WHERE age>25; #在mytable 中所有的name,age 數據,其中age必須小于25
SELECT name,age FROM mytable WHERE age<25 OR age>30; #找出年齡小于25,大于30的name,age數據 (注意其中的‘OR’)
SELECT name,age FROM mytable WHERE age>25 AND age<30; # 找出年齡大于25,小于30的name,age數據 (注意其中的‘AND’)
關鍵詞 IN 和 NOT IN 的作用和它們的名字一樣明顯,用于篩選“在”或“不在”某個范圍內的結果,比如說我們要查詢在 dpt3 或 dpt4 的人:
SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt IN ('dpt3','dpt4');
而 NOT IN 的效果則是,如下面這條命令,查詢出了不在 dpt1 也不在 dpt3 的人:
SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt NOT IN ('dpt1','dpt3');
關鍵字 LIKE 可用于實現模糊查詢,常見于搜索功能中。
和 LIKE 聯用的通常還有通配符,代表未知字符。SQL中的通配符是 _
和 %
。其中 _
代表一個未指定字符,%
代表不定個未指定字符 例如:
SELECT name,age,phone FROM employee WHERE phone LIKE '1101__'; #在employee數據表中查找前4個數字為1101的電話號碼及相關數據
另一種情況,比如只記名字的首字母,又不知道名字長度,則用 %
通配符代替不定個字符:
SELECT name,age,phone FROM employee WHERE name LIKE 'J%'; #查找首字母為‘J’的人名及相關數據。
總結:mysql 的 查找 ,如果是按條件過濾查找一定要用WHERE關鍵字,同時根據需要使用'OR', 'AND', 'IN', 'NOT IN', ' _', '%'
mysql 的 排序 :
為了使查詢結果看起來更順眼,我們可能需要對結果按某一列來排序,這就要用到 ORDER BY 排序關鍵詞。默認情況下,ORDER BY 的結果是升序排列,而使用關鍵詞 ASC 和 DESC 可指定升序或降序排序。 比如,我們按 salary 降序排列:
SELECT name,age,salary,phone FROM employee ORDER BY salary DESC; #將employee數據表中數據按工資由高到低排列。
如果后面不加 DESC 或 ASC 將默認按照升序排列。