mysql中in的用法,sql語句中in的用法

2021-12-25 10:00:04 字數 2628 閱讀 5332

1樓:匿名使用者

select * from b where s2 in (select s1 from a);

樓主自己解決的答案使用的find_in_set函式,在子查詢的返回結果只有1條的情況下是可用的,返回多行記錄的時候需要將多行結果轉換成1行list才能正確進行查詢,過程相當煩瑣。所以find_in_set函式用在此處並不是明智的選擇。

2樓:匿名使用者

sql語句的 where 子句比較豐富:

select * from b where s in (1,2,3,4)

要注意欄位型別,如果是數字型別用

select * from b where s in (1,2,3,4)

如果是字串型別用

select * from b where s in ('1','2','3','4')

3樓:雪潔麗麗

gpmz888說的語句是正確的啊,怎麼就不正確了呢?不過in在有些版本里面是不支援where/limit等寫法的,這個時候你就需要這樣 select * from `a` where id in ( select id from (select id from `b` limit 5) tmp )這樣來實現。

4樓:匿名使用者

1.in 後面是記錄集,如:

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

2.in 後面是字串,如:

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

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

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

//$pieces是含資料的陣列

for($i=0;$i

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

5樓:愛問百思

你搞錯了吧,第一條是查詢資料表 a當中的欄位s;第二條是查詢資料表 b 當中的欄位 s 裡面的值,包括 1 2 3 4 這些值。

目的是兩個不同的資料表

只要資料表當中某欄位,例如 b 資料庫 欄位 s 有包含 1 2 3 4 ,那麼用命令

select * from b where s in (1,2,3,4)這樣就成立

6樓:獨孤碼農

你只有一行記錄的話,那得加一個split函式來做了,你參考一下

create function `func_splitstring`

( f_string varchar(1000),f_delimiter varchar(5),f_order int)

returns varchar(255) charset utf8

begin

declare result varchar(255) default '';

set result = reverse(substring_index(reverse(substring_index(f_string,f_delimiter,f_order)),f_delimiter,1));

return result;

end$$

select func_splitstring('1,2,3,4,5,6,7',',',1);

sql語句中in的用法

7樓:四舍**入

in 操作符允許我們在 where 子句中規定多個值。

sql in 語法:

select column_name(s)from table_name

where column_name in (value1,value2,...)

8樓:

你這樣構造in的範圍不對. 你這樣是把in後面處理成一個字串了, 而in後面跟的應該是一個範圍.

你可以自己寫一個返回資料集的函式來將aa.ddid值處理成in的範圍, 類似於:

假設函式: ft01(nvarchar(1000)) returns table tb (val int)

那麼, 這樣更新裡面子查詢的in條件:

where id in (select val from ft01(aa.ddid))

另外, 此解決方法只是從in條件上來說.

9樓:匿名使用者

in一般是用來做子查詢的,你需要模糊查詢則需要用like加上%這個萬用字元

10樓:

錯誤提示不時很清楚嗎,與你的 in 子句無關

11樓:匿名使用者

貌似跟in 的關係不大啊,是字元型別導致的錯誤啊

mysql中on,in,as,where如何用,意思是什麼? 30

12樓:匿名使用者

where查詢條件,on內外連線時候用,as作為別名,in查詢某值是否在某條件裡

13樓:匿名使用者

當你查詢的結果有條件時,用where

mysql資料庫中sql修改欄位型別要怎麼做

方法如來下 修改一 個欄位自的型別 alter table user modify new1 varchar 10 修改一個欄位的名稱,此時一定要重新指定該欄位的型別 alter table user change new1 new4 int。一 電腦常見問題 主機板不啟動,開機無顯示,有顯示卡報警...

請問在mysql資料庫中is和用法分別是怎樣的

is 僅用在is null或is not null 用在2種情況下 一是判斷值是否相等 where id 1 二是用於賦值set id 1 is is 一般情況下和 null 連用,比較該欄位的值是否為空如 select from table name where name is null 找出所有...

西班牙語中的 hay 有哪些用法,請造句

haber在表示 有 的意思的時候,是無人稱動詞,只有第三人稱單數一種形式 hay。hay表示在 某處 有 某物 即構成無人稱句。在對 某物 進行提問時,用疑問詞 qu 在對 某物的數量 進行提問時,用疑問詞 cu nto cu ntos en la ciudad no hay f brica.這個...