sql語句中or條件有無括號舉例!!

2021-09-10 07:31:32 字數 481 閱讀 2064

select * from school where class=1 and (*** like 男 or birthday like 1);                     

or在括號裡面,結果集是班級1後再加過濾條件是男生或生日在1月份得到的;

select * from school where class=1 and *** like 男 or birthday like 1;    

or在括號外面,結果集是班級1加是男生過濾得到的結果,與過濾條件是生日在1月份得到的結果合併在一起。

比如:學校有3個班級,第乙個過濾條件是班級1,第二個過濾條件是 男生 或 生日在1月份 的。

區別就是:

1、得到班級1裡面的所有男生和1月生日的女生;

2、得到班級1的男生和學校3個班級的1月生日的學生。

2的結果比1多了班級2和班級3的1月生日的學生。明白了嗎?

--------------------- 

SQL語句中加中括號的作用

在操作sqlserver資料庫的時候,經常能看到用中括號 括住的字段,這些字段可能是表名或者欄位名等等。那麼為什麼要加中括號呢?解釋如下 為了防止某些關鍵字在使用中引起歧義,如果加上中括號,則代表這是乙個欄位名,而不是關鍵字。例如 表中有乙個欄位叫select,而select是sql中的乙個關鍵字,...

sql語句中條件查詢in like 的效率

1 如果條件欄位都是非索引字段,那麼效率都差不多,就看結果大小。2 有差別的在於條件欄位是索引欄位時 在索引的情況下都會進行索引掃瞄,所以效率總是高的。like 當模糊查詢為右模糊,比如 abc 時,掃瞄索引,高效。當模糊查詢含左模糊時,比如 abc 進行全表掃瞄,低效。in 的作用等同於or,也是...

sql語句中的where條件執行順序

語句1 select from work order list where head corp id 1 and work order state in 1,2 and receiving id is null or receiving id 27 語句2 select from work orde...