① sql 如何用like模糊子查詢
select * from a where [name] like (select top 1 '%'+convert(varchar(200),code)+'%' from b )
查詢分析器中測試通過
程序中的話要保證傳遞給sql的是這個
② 怎樣在子查詢中使用like
2樓的正解,如果方法覺得復雜的話,用這個也可以,
以SQL SERVER為例子,必要的話可以做procere:
declare @nearbystop varchar(max)
set @nearbystop = (select nearbystop from areaTable where a_name like '%校場%')
select * from bus where lines like '%'+@nearbystop+'%'
執行結果:
--------------------------------------------------------------------
id code lindes
1 1路 火車站-百貨大樓-體育館-公交公司
2 2路 汽車站-火車站-建設路-西市場-建材市場
搞定!收工
③ sql 子查詢如何寫
select id from 表A
full join
(select id,count(id) from 表B group by id)
on A.id=B.id
④ 在SQL 腳本中如何使用LIKE嵌套子查詢
select 商品表.*,類別表.*
from 商品表, 類別表
where 商品表.proctcategory like '%' + 類別表.proctcategory + '%'
⑤ sql 分組子查詢怎麼寫
你的意思是不是「找出所有status欄位不是OK的BarCode,然後顯示找到的這些BarCode對應的所有的記錄」
比如:某個BarCode有三條記錄,這三條記錄中有一條status不是OK,那麼就顯示這三條記錄;另一個BarCode有亮條記錄,他們的status狀態都是OK,那麼就不顯示。是這個意思不是。
如果是那麼不需要分組,直接子查詢就可以。
子查詢的內容是查詢status!='OK'(因為不知道是不是只有NG一種不OK的狀態所以用了「不等於」,具體的要根據業務情況來定)的BarCode。
外層就是利用子查詢查到的BarCode去查詢就可以了,可以直接用in或者exist都可以。
比如某個編號為1111的有三條數據,其中有一條的status不是ok,那麼子查詢就會找到這條不是ok的記錄,並返回編號1111,外層查詢在利用編號1111,查到全部的三條記錄。
⑥ sql like值為子查詢結果時怎麼寫呢
like 後邊加的是通配符 % 或者 _ (百分號 或 下劃線)
並且like後邊的內容需要放在兩個單引號里的。
例如 :
like 『%s%' 或 's_' 等等。
你上邊的那句,其實將like 改成 in 就可以了。
不需要用like 語句。
⑦ sql中用like模糊匹配,%前置導致索引失效,完成子查詢後再對某欄位展開模糊匹配會好點嗎 還是更慢
like在在意效率的場景下不要用,盡量用利用有索引的列查詢,可以藉助sql工具查看執行後索引使用情況,好像是explan,很久沒用記不清了,中文叫執行計劃,查詢語句都能給出索引使用情況,先縮小數據范圍,再用like語句效率肯定會好,當然數據量也是決定因素,幾百、上千萬以上的數據需要做更精細的查詢優化。
⑧ 在SQL 腳本中如何使用LIKE嵌套子查詢
ProctCategory 123 是一個類別?還是1、2、3類別都包括了?
如果是一個類別:
select * from 類別表 where ProctCategoryId =
(select ProctCategory from 商品表 where Proctname ='商品1')
如果商品1同時屬於1、2、3三個類別,建議在商品表ProctCategory 欄位不要存儲為123而改為1,2,3,這樣便於查詢:
select * from 類別表 where ProctCategoryId in
(select ProctCategory from 商品表 where Proctname ='商品1')