在Mysql5 0 中In 用法的疑惑

2025-01-22 18:30:15 字數 1387 閱讀 7744

1樓:網友

select arrchild from b 的查詢結果是一條記錄內容是一字串(1,2,35,5)

這種情況下,執行。

select * from a where in(select arrchild from b)

相當於執行。

select * from a where in( '1,2,35,5' )

結果肯定是沒有。

假如你的 select arrchild from b 的查詢結果是。

這樣的 4 行資料。

那麼。select * from a where in(select arrchild from b)

就等價於。select * from a where in(1,2,35,5)

如果。select arrchild from b 的查詢結果是一條記錄內容是一字串(1,2,35,5)

又要實現。select * from a where in(1,2,35,5) 的效果。

乙個變通的辦法是:

select * from a

whereinstr ( concat ( select arrchild from b) ,concat (' , 0

2樓:棲雲

使用的時候他會將select arrchild from b查詢出來的每條記錄當做乙個整體。

select * from a where in(select arrchild from b) 這個相當於。

select * from a where in( 『1,2,35,5』 )所以查不出來。

arrchild

想要下面的結果,select arrchild from b這個查詢出來的結果要是這樣的。

arrchild

3樓:網友

不是查不到,應該是速度很慢。如果可以的話儘量使用=來代替in語句,myql的in語句貌似沒有優化過,效率很低的。

mysql 中 in的用法有哪些?

4樓:網友

後面是記錄集,如:

select * from table where uname in(select uname from user);

後面是字串,如:

select * from table where uname in('aaa',bbb','ccc','ddd','eee',ffff'');

注意:這裡一定要將字串用單引號'' 標註起來;

後面是陣列,用如下方法,請參考:

$pieces是含資料的陣列。

for($i=0;$i

備註:這種方法的原理其實很簡單,二就是把陣列程式設計上面「第2種情況」的形式。

在shell中怎樣將mysql的查詢結果的欄位值賦

給你一個思路.把sql語句寫在一個檔案裡,比如叫sqlfile.sql 然後mysql uroot p 密碼 sqlfile.sql 這樣可以把sql語句執行出來,然後過濾出你要的內容,再做判斷具體實施看你具體情況 本文介紹 mysql 8.0 shell 子模組 util 的兩個匯入特性 impo...

mysql計算欄位中同名的個數在計算出男性的個數

select 姓名,性別 count as 男性人數 from 表名 where 性別 男 group by 姓名 結果是這樣的專 姓名 性別 男性人數 張三 男 7李四屬 男 2王五 男 5 select count from 表名 where 名字 張三 and 性別 男 mysql 如何按某個...

在初等數論中的用法,初等數論中的符號問題 100分

g計算的時候從 到再計算 當列式bai中有小括號 時候,就要用中du括號,zhi有中括號的時候,就要用大括號dao 那這個指內 的就是取整函式了 性質容1 對任意x r,均有x 1 x x x 1.性質2 對任意x r,函式y 的值域為 0,1 性質3 取整函式 高斯函式 是一個不減函式,即對任意x...