標籤:

用MySQL WHERE進行過濾

本文教你如何用where語句進行過濾行數據,從而得到結果集。

通俗的講:如果你要的到一個結果集,select 是選擇需要的列,不用where進行篩選,那麼只能得到所有的行,一般這樣的結果不是我們要的,那麼,就需要進行行篩選,即將數據集進行橫豎兩個維度進行了切割,從而得到我們想要的結果。

與excel中的篩選功能類似。

MySQL WHERE 子句

如果,你用進行查詢,只有select語法,得到所有的行,那麼,我們只想要其中一部分數據怎麼辦,那麼就需要where條件進行篩選。

WHERE 子句通過條件或者篩選得到精確的具體的結果集。

MySQL WHERE 例子

我們繼續學習例子:

假設,你只想得到關於sales rep 的僱員信息。

SELECT nlastname, firstname, jobtitlenFROMnemployeesnWHEREnjobtitle = Sales Rep;n

儘管where在 整個語句的最後面出現,但系統執行的時候,先執行where語句,選擇滿足的行在進行其他語法,所以,where的優先順序是最高的,mysql再執行select語句,上圖已經高亮為結果集。

你可以嘗試練習如上簡單的語法,也可以用邏輯語法 and,or 等進行構建複雜的語句,例如,我們想找到sales rep 的工號是1的僱員,可以這樣寫:

SELECT nlastname, firstname, jobtitlenFROMnemployeesnWHEREnjobtitle = Sales Rep AND officeCode = 1;n

下面的表格收集了常用邏輯關係:

= Equal to. You can use it with almost any data types.

<> or !=Not equal to.<Less than. You typically use it with numeric and date/time data types.

> Greater than.

<= Less than or equal to

>= Greater than or equal to

舉例:

SELECT nlastname, firstname, jobtitlenFROMnemployeesnWHEREnjobtitle <> Sales Rep;n

推薦閱讀:

pandas數據保存至Mysql資料庫
MySQL訓練——Self join@sqlzoo.net
為何Redis用樂觀鎖,而MySQL資料庫卻沒有?
為什麼我不再看好MariaDB

TAG:MySQL | MySQL入门 |