sql server 中 in 和like 有什么區別?
sql server 中 in 和like 有什么區別?
一只甜甜圈
2018-07-29 13:00:14
TA貢獻1805條經驗 獲得超10個贊
select * from 表 where name in (select name2 from 表)
select * from 表 where name like '張%'
通過上面的例子可以看出:
第一個 name in 后面是一個查詢,查詢出是一組數據,比如name2里查詢結果是:'張三','李四','王五','趙六'
那么就查詢出表內name包含了 '張三','李四','王五','趙六'的項目
第二個 name like '張%'
like 表示模糊查詢
里面包含了通配符%
%代替任意N個字符
還有通配符:單個下橫杠: _
_表示任意一個字符
也就是:查詢name like '張%' 是查詢結果里必須滿足所有'張'字開頭的數據,'張三','張四',張五','張XX','張XXX','張XXXXXXX'
都滿足條件
如果用通配符name like '張_'查詢name 里包含了所有'張'字開頭的后面跟一個字符的數據,,'張三','張四',張五','張XX','張XXX','張XXXXXXX'
職能顯示'張三','張四',張五'
而'張XX','張XXX','張XXXXXXX'就不滿足條件
舉報