sql中的or的用法說明

2022-05-17 10:26:04 字數 833 閱讀 7615

資料庫裡

a  c

0  1

0  2

0  3

1  4

1  5

1  6

這樣執行完這語句之後查出來有幾條語句?

答案是3條

而我想要的是a為0或1並且c為3的資料顯示

應該只有1條的

所以應該這樣寫

sql** select * from kk where (a='0' or a='1') and c = '3'  select * from kk where (a='0' or a='1') and c = '3'

擴充套件一點:

sql** select * from kk where (a='0' or a='1') or c = '3'  select * from kk where (a='0' or a='1') or c = '3'

的結果是什麼呢?

答案是顯示全部顯示,6條

雖然基本,我就犯了沒加括號的錯誤

這樣也可以

sql** select * from kk where a in ('0','1') and c = '3'  select * from kk where a in ('0','1') and c = '3'

這條執行得到也是1條結果

總結:where 後面如果有and,or的條件,則or自動會把左右的查詢條件分開,即先執行and,再執行or。原因就是:and的執行優先順序最高!

關係型運算子優先順序高到低為:not and or

問題的解決辦法是:

用()來改變執行順序!!!!

Mysql show的用法說明

mysql show 語句用法 2009 05 08 15 08 show 可以以各種形式描述 資料庫系統的資訊,諸如資料表,字段,伺服器狀態等等。大致有以下這些方法 show full columns from tbl name from db name like pattern 顯示表的字段定義...

2 1 的用法說明。

經常關注linux指令碼的人,一定看到過 2 1 這樣的用法,最初一定不明白其中的含義以及為什麼是這樣的一種組合。昨天偶然間再次看到了這個 2 1 的寫法,遂下決心搞明白其中的含義。其實要弄清楚 2 1 的含義,首先應當知道linux中有三種標準輸入輸出,分別是stdin,stdout,stderr...

Python 中bisect用法說明

bisect是python內建模組,用於有序序列的插入和查詢。插入 import bisect arr 1 3,3 6,8 12,15 value 3idx left bisect.bisect left arr,value print idx left idx right bisect.bisec...