資料表都已經建立起來了,假設我們已經插入了許多的資料,我們就可以用自己喜歡的方式對資料表裡面的資訊進行檢索和顯示了,比如說:可以象下面這樣把整個資料表內的內容都顯示出來
select * from president;
也可以只選取某一個資料行裡的某一個資料列
select birth from president where last_name=’Eisenhower’;
select語句的通用形式如下:
select 你要的資訊
from 資料表(一個或多個)
where 滿足的條件
select語句有幾個子句,他們的各種搭配能幫你查出最感興趣的資訊,這些子句可以很簡單,也可以很複雜,看看作者是如何詳細講解的
1, 用各種操作符來設定檢索條件
要想讓select語句只把滿足特定條件的記錄檢索出來,就必須給它加上where字句來設定資料行的檢索條件。只有這樣,才能有選擇地把資料列的取值滿足特定要求的那些資料行挑選出來。可以針對任何類型的值進行尋找,比如說,對數值進行搜尋
select * from score where score>95; //顯示所有分數在95分以上的資訊
也可以針對字串值進行尋找
select last_name,first_name from president where last_name=’Tom’; //找出所有姓tom的總統
還可以對不同類型的值進行組合尋找
select last_name,first_name,birth,state from president
where birth<’1950-1-1’ and (state=’VA’ or state=’BA’);
//找出1950年前出生於VA州或BA州的總統
可見 where子句中可以使用的是算術操作符(+-*/%),比較操作符(<>=)以及邏輯運算子,我們應該熟練理解這些操作符的含義(都很簡單)
2, NULL 值的特別處理
這是一種不屬於任何類型的值。它通常用來表示“沒有資料”“資料未知”“資料缺失”“資料超出取值範圍”“與本資料列無關”“與本資料列的其它值不同”等多種含義。在許多情況下,NULL 值是非常有用的。
我們的各種操作符是不能對NULL 值進行處理的,如果相對NULL 值進行尋找,用的是 is null 或 is not null 來進行判斷,舉例如下:
select last_name,first_name,birth,state from president
where death is null; //找出所有沒死的總統
在某些情況下,NULL 值是很有用的類型,大家慢慢就會理解的。
3, 查詢結果進行排序
一般說來,如果建立了一個資料表並向裡面插入了一些記錄,當發出一條select * from name命令的時候,資料記錄在查詢結果中的先後順序通常與它們被插入時的先後順序一樣.這當然符合我們的思維習慣.但這隻是一種"想當然"的假設而已,事實上,但記錄被刪除時,資料庫中會產生一些空的地區,MYSQL會用新的記錄來填補這些地區,也就是說,這個時候本假設就不正確了.因此我們必須記住一點,從伺服器返回的記錄行的先後順序是沒有任何保證的!如果想要按照一定的順序,就必須使用order by 子句來設定這個順序.
select last_name,first_name,birth,state from president
order by last_name; //讓總統們的名字按字母順序排列
還可以設定排列的升序降序
select last_name,first_name from president
order by state DESC,last_name ASC;
//先按照出生地的降序排列,同出生地的按照姓氏的升序排列
注意:如果結果中含有NULL 值,預設情況下他們總是出現在查詢結果的開頭。
4, 限制查詢結果中資料行個數
這個簡單,只要用limit 子句就可以了,看兩個例子:
select last_name,first_name,birth,state from president
order by birth limit 5; //只想看前5個
order by birth limit 10,5; //返回從第11個記錄開始的5個記錄(跳過了10個)
小技巧:從president表中隨機找出一個總統來玩:
select last_name,first_name,birth,state from president
order by rand() limit 1; //這是用了運算式求值的方法,在哪裡都管用
5, 對輸出資料行進行求值和命名
為了提高效率,MYSQL還可以把運算式的計算結果當作輸出資料行的值。運算式可以很簡單,也可以很複雜。例如:下面這個查詢有兩個輸出資料行,前一個輸出
以上就是SELECT 的使用詳解的內容,更多相關文章請關注topic.alibabacloud.com(www.php.cn)!