通過使用and和or更加靈活的進行資料過濾
and操作符
select prod_name,prod_price,prod_name
from ***
where vend_id = 1003 and prod_price <= 10;
#對id和price進行了限制,從而選出關鍵項
or操作符
select prod_name,prod_price
from ***
where vend_id = 1002 or vend_id = 1003;
or與and的計算次序問題
select prod_name,prod_price
from ***
where vend_id = 1002 or vend_id = 1003 and prod_price >= 10;
#在mysql語句中,and會比or有更高的優先順序
#如果確實需要先使用or,在執行and,則需要加上小括號
select prod_name,prod_price
from ***
where (vend_id = 1002 or vend_id = 1003) and prod_price >= 10;
in操作符用來指定條件範圍,in中有篩選的取值範圍
select prod_name,prod_price
from ***
where vend_id in (1002,1003)
order by prod_name;
#這是選取了in裡面1002與1003兩項
select prod_name,prod_price
from ***
where vend_id not in (1002,1003)
order by prod_name;
#這裡就是指定vend_id不匹配1002與1003這兩項
#這裡可以理解為是乙個取反操作,在in,between,exists裡面都有實現
首先了解幾個概念:
萬用字元:用來匹配值的一部分字元
搜尋模式:由字面值、萬用字元或兩者組合構成的搜尋條件
like可以使得後面的搜尋模式利用萬用字元進行匹配
select prod_id,prod_name
from ***
where prod_name like 'jet%'
這裡的搜尋模式是』jet%』,意思是尋找以jet起頭的字元,不管jet後面是什麼,都可以匹配
多種靈活操作:
select prod_id,prod_name
from ***
where prod_name like '%jet%'
#這裡是匹配字元**現jet字串的字元
#%的使用是任意字元可以是0個,可以是多個
#另外,空格輸入同樣會被認為是字元,那麼如果在尋找時,可能就會存在不匹配現象,因此還是應該多加%進行更全面的匹配
下劃線的匹配與%萬用字元類似,但是下劃線只匹配單個字元而不是多個字元
select prod_id,prod_name
from ***
where prod_name like '_jet'
#這個只能匹配乙個字元+jet的模式
MySQL的and操作符和or操作符
有時對where的要篩選的列不止乙個時,那麼就用到了and操作符和or操作符,and操作符顧名思義的意思是 並且 而or操作符的意思是 或者 比如以部門員工表為例 查詢部門編號為d001並且入職日期為 1985 02 02的員工編號,那麼就要用到and操作符 那如果是查詢部門編號為d001或者入職日...
操作符使用
1.寫乙個函式返回引數二進位制中 1 的個數 比如 15 0000 1111 4 個 1 程式原型 int count one bits unsigned int value include include pragma warning disable 4996 方法一 int count one ...
perl學習筆記三 操作符
操作符 perl的操作符大部分跟c語言相同,所以下面還是介紹一些不相同 的地方。一。操作符 1。乘冪 例如 2 3 8 乘冪不可以超過系統的表示範圍否則報錯。2。數字比較 例如 a b 若 a b 返回值 1 若 a b 返回值 0 若 a3。邏輯運算子 之所以把它提出來講是這個運算子不能應用於負整...