天天看點

《MySQL必知必會學習筆記》過濾資料

第六章:過濾資料,即where關鍵字的使用

在實際過程中,我們并不需要将所有的資料顯示出來,隻會将我們感興趣的行資料顯示出來,例如:在老師想統計考試成績在90~100分這個區間的有哪些人?就需要過濾資料。

如需有條件地從表中選取資料,可将 WHERE 子句添加到 SELECT 語句。

文法:

SELECT 列名稱 FROM 表名稱 WHERE 列 運算符 值

其中的運算符包括如下(圖來源于:http://www.w3school.com.cn/sql/sql_where.asp):

《MySQL必知必會學習筆記》過濾資料

實踐例子如下:

大于和等于号的運用如下:

《MySQL必知必會學習筆記》過濾資料

不等于号的運用如下:

《MySQL必知必會學習筆記》過濾資料

between and的運用如下:

《MySQL必知必會學習筆記》過濾資料

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';
           

實踐操作截圖如下:

《MySQL必知必會學習筆記》過濾資料

where in 的聯合使用

in 操作符用來指定條件範圍,範圍中的每一個條件都可以進行比對。in取合法值的由逗号分隔的清單,全部括在圓括号中。

select * from student where score in (60,80);
           
《MySQL必知必會學習筆記》過濾資料

in操作符的優點如下:

  • 在使用長的合法選項清單時,in操作符的文法更清楚且更直覺。
  • 在使用in時,計算的次序更容易管理(因為使用的操作符更少)
  • in操作符一般比or操作符清單更快。
  • in最大的優點是可以包含其他的select語句,使得能夠更動态地建立where語句。

where not 的聯合使用

where子句中的not操作符有且隻有一個功能,那就是否定它之後所跟的任何條件。

select * from student where not in (60,80);//含義就是将score除了60和80的其它成績過濾出來。
           
《MySQL必知必會學習筆記》過濾資料

小結

以上對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);
           

繼續閱讀