sqllikein
1. sql server 中 in 和like 有什麼區別
首先是in,in在檢索語句當中檢索出來的值和列表提供的值是完全符合的。比如數據當中有一個值是一個字元'name』那麼在in語句當中你就要寫成「in('name')」他還可以配合not使用,僅不過意思相反。
其次是like,like和in是有一定區別的,like一般與通配符一起使用,他可以檢索出一些特地定格式的字元。比如在一系列的數據當中,你要求檢索出以數字1開頭的數據,你就可以使用like'1%'。這里要說明一下sql提供的通配符主要有四種 '%', '_', '[ ]', '[ ^ ]'。下面對通配符做一些簡單說明:
1、'%'其後可用於接無數個字元串:在查詢中如此使用like 's_',即可查出以s開頭的值;
2、'_'其後僅可以得到一個字元,如以sales為例,like's_'如此使用,不能找出sales,而應like 'sale_'即可查出sales;
3、'[ ]'表示出現的字元是在一定的范圍內,一般情況下它是配合'%'使用的。如like 』p[ r,o]%,他就可以查出以p開頭的值,並且其後第二個字元,是r,或者是o,即pocket,proct、、、
4、 '[ ^ ]'是與其相反的,如like 『 p[^ r,o]% ',就是檢索出以p開頭但第二個字元不是r或o的字元。
希望我的回答能對你有所幫助
2. sql語句中關於like 和 in
*是一個實際的字元,而%是通配符,兩個不是一個概念
sql中的通配符%才代表任意字元,*在sql中沒有通配符的意思,雖然在像dos環境之類下是代表任意字元的意思
elect
*
from
sysuser
a
where
a.login_name
like
'sys*';
等於
select
*
from
sysuser
a
where
a.login_name
=
'sys*';
3. sql里like in能組合用嗎的相關推薦
保留字like在sql里與+-*/一樣是運算符之一,可用like運算符來找出符合指定樣式的欄位值。它通常要結合通配符表達式一起使用。
保留字in在sql里的作用多一些,其作用之一也與+-*/一樣是運算符,用「in運算符」可判斷表達式的數值是否等於指定列表中幾個數值中的一個;
其作用之二為設置sql子查詢,用「in子查詢」的結果可以對主查詢實施篩選,篩選效果與in運算符相同;另外不同種類的資料庫in還可能有一些其他特殊用途,例如in在access資料庫里還可以連接外部數據表等。
SQL對like 操作中的特殊字元處理方法:
SQL Server查詢過程中,單引號 ' 是特殊字元,所以在查詢的時候要轉換成雙單引號 '' 。
在like操作還有以下特殊字元:下劃線_,百分號%,方括弧[],尖號^。
下劃線:用於代替一個任意字元(相當於正則表達式中的 ? ) 百分號:用於代替任意數目的任意字元(相當於正則表達式中的 * )
以上內容參考:網路-SQL LIKE
4. 請問SQL PLUS中的in和like的用法
當like和in能互換的時候,like時需要用到or
如
欄位
like
'1%'
or
欄位
like
'2%'
如果改用in
則是substr(欄位,1,1)
in
(1,2)
不過後一種效率相對低,可能有的索引會用不上
你們老闆什麼意思,我也沒弄懂
5. 在關系代數表達式裡面如何表示sql中的模糊查詢呢,比如「like」,"in"這樣的語句。下 面的這個例子:在一個
in 表示滿足條件的其中任何一個,一般用於子查詢或選擇查詢
而like才是做模糊查詢用的,表示符合後面接的條件的數據
6. sql 多關鍵字模糊查詢
如果是ORACLE可以用正則表達式
select * form table_name t where regexp_like(t.id,'1077130|1099697')
7. sql語句中條件查詢里in、like、及=三個的效率怎麼樣
1、如果條件欄位都是非索引欄位,那麼效率都差不多,就看結果大小。
2、有差別的在於條件欄位是索引欄位時:
=在所以的情況下都會進行索引掃描,所以效率總是高的。
like 當模糊查詢為右模糊,比如'abc%'時,掃描索引,高效。
當模糊查詢含左模糊時,比如'%abc',進行全表掃描,低效。
in的作用等同於or ,也是進行索引掃描,高效。
另外,in還可以連接查詢結果集,這時往往會和exists做比較。
a、 select * from t1 where f1 in (select f1 from t2 where t2.fx='x'),
其中子查詢的where里的條件不受外層查詢的影響,這類查詢一般情況下,自動優化會轉成exist語句,也就是效率和exist一樣。
b、 select * from t1 where f1 in (select f1 from t2 where t2.fx=t1.fx),
其中子查詢的where里的條件受外層查詢的影響,這類查詢的效率要看相關條件涉及的欄位的索引情況和數據量多少,一般效率不如exists,數據量大時,效果就更加明顯。