第六章:過濾資料,即where關鍵字的使用
在實際過程中,我們并不需要将所有的資料顯示出來,隻會将我們感興趣的行資料顯示出來,例如:在老師想統計考試成績在90~100分這個區間的有哪些人?就需要過濾資料。
如需有條件地從表中選取資料,可将 WHERE 子句添加到 SELECT 語句。
文法:
SELECT 列名稱 FROM 表名稱 WHERE 列 運算符 值
其中的運算符包括如下(圖來源于:http://www.w3school.com.cn/sql/sql_where.asp):
實踐例子如下:
大于和等于号的運用如下:
不等于号的運用如下:
between and的運用如下:
where語句進階用法
where的用法還是比較常用的,上面隻是對where關鍵字的簡單用法進行了簡單的介紹。下面将對where語句的稍微複雜一點的用法進行介紹。
where and or的聯合使用
在我們過濾資料的過程中,可能條件不止一個,這個時候就需要 将過濾條件用 and、or來連接配接了。
select * from student where score=80 and name='rang';//這樣就得到了表中 score=80且name是rang的資料了。
上面是and關鍵字将過濾條件的使用方法。or關鍵字的用法與and是一樣的。
select * from student where score>=80 or name='A';
實踐操作截圖如下:
where in 的聯合使用
in 操作符用來指定條件範圍,範圍中的每一個條件都可以進行比對。in取合法值的由逗号分隔的清單,全部括在圓括号中。
select * from student where score in (60,80);
in操作符的優點如下:
- 在使用長的合法選項清單時,in操作符的文法更清楚且更直覺。
- 在使用in時,計算的次序更容易管理(因為使用的操作符更少)
- in操作符一般比or操作符清單更快。
- in最大的優點是可以包含其他的select語句,使得能夠更動态地建立where語句。
where not 的聯合使用
where子句中的not操作符有且隻有一個功能,那就是否定它之後所跟的任何條件。
select * from student where not in (60,80);//含義就是将score除了60和80的其它成績過濾出來。
小結
以上對where子句進行了介紹。
其中包括where的簡單應用;例如:
select * from student where score>60;
還介紹了 where 與操作符 and or not in 的應用。例如
select * from student where score>60 and name='A';
select * from student where score=80 or name='B';
select * from student where score in (60,80);
select * from student where score not in (60,80);