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...