天天看點

mysql資料庫(7):表中檢索資訊(下)

 (5)分類行 

 為了排序結果,使用ORDER BY子句。這裡是動物生日,按日期排序:select  name, birth from pet order by birth;

mysql資料庫(7):表中檢索資訊(下)

 預設排序是升序,最小的值在第一。要想以降序排序,在你正在排序的列名上增加DESC(降序 )關鍵字:SELECT name, birth FROM pet ORDER BY birth DESC;

mysql資料庫(7):表中檢索資訊(下)

按升序對動物的種類進行排序,然後按降序根據生日對各動物種類進行排序(最年輕的動物在最前面),使用下列查詢:

mysql> SELECT name, species, birth FROM pet

-> ORDER BY species, birth DESC;

mysql資料庫(7):表中檢索資訊(下)

(6)日期計算

要想确定每個寵物有多大,可以計算目前日期的年和出生日期之間的差。如果目前日期的月曆年比出生日期早,則減去一年。以下查詢顯示了每個寵物的出生日期、目前日期和年齡數值的年數字。

盡管查詢可行,如果以某個順序排列行,則能更容易地浏覽結果。添加ORDER BY name子句按照名字對輸出進行排序則能夠實作

mysql> SELECT name, birth, CURDATE(),

-> (YEAR(CURDATE())-YEAR(birth))

-> - (RIGHT(CURDATE(),5)<RIGHT(birth,5))

-> AS age from pet;

mysql資料庫(7):表中檢索資訊(下)

 了按age而非name排序輸出,隻要再使用一個ORDER BY子句:

mysql> SELECT name, birth, CURDATE(),(YEAR(CURDATE())-YEAR(birth))- (RIGHT(CURDATE(),5)<RIGHT(birth,5)) AS age

-> FROM pet ORDER BY age;

mysql資料庫(7):表中檢索資訊(下)

 知道哪個動物幾月過生日:SELECT name, birth, MONTH(birth) FROM pet;

mysql資料庫(7):表中檢索資訊(下)

 找出下個月生日的動物也是容易的。假定目前月是7月,那麼月值是7,你可以找在8月出生的動物 (8月),方法是:SELECT name, birth FROM pet WHERE MONTH(birth) = 8;

mysql資料庫(7):表中檢索資訊(下)

 (7)NULL值操作

使用IS NULL和IS NOT NULL操作符,0或 NULL意味着假而其它值意味着真。布爾運算的預設真值是1。

定哪個動物不再是活着的,使用death IS NOT NULL而不使用death != NULL

(8)模式比對

要想找出以“h”開頭的名字:SELECT * FROM pet WHERE name LIKE 'h%' ;

mysql資料庫(7):表中檢索資訊(下)

同理:

mysql資料庫(7):表中檢索資訊(下)

要想找出以“h”結尾的名字:select * from pet where name like  '%h';

mysql資料庫(7):表中檢索資訊(下)
mysql資料庫(7):表中檢索資訊(下)

要想找出包含“h”的名字: SELECT * FROM pet WHERE name LIKE '%h%';

mysql資料庫(7):表中檢索資訊(下)

 要想找出正好包含2個字元的名字,使用“_”模式字元:SELECT * FROM pet WHERE name LIKE '__';

mysql資料庫(7):表中檢索資訊(下)