用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