MySQL之集合之間的查詢

2021-10-14 21:21:04 字數 935 閱讀 4363

根據需求有以下查詢情況:

判斷乙個元素是否在集合裡面。

可用 in 判斷,要求傳入引數為集合,然後通過

collection

="list"

item

="i"

index

="index"

open

="("

close

=")"

separator

=","

>

foreach

>

對集合進行整理。

另乙個方法是使用 find_in_set 函式,這個要求傳入引數為以逗號分隔的字串。

如 find_in_set(em,emlist) , find_in_set(『1』,『1,2,3』 ) 會回傳元素所在索引。不存在返回0。

判斷乙個集合裡面是否有另乙個集合的元素。

使用策略也可以傳列表操作,使用上面foreach進行操作每乙個元素是否在另乙個。

另外就是使用正則

select concat(

'1,4'

,','

)regexp concat(

replace

('1,2,3'

,','

,',|'),

',')

-- 1

select concat(

'5,4'

,','

)regexp concat(

replace

('1,2,3'

,','

,',|'),

',')

-- 0

前面的存在返回1,不存在返回0;需要注意的是,這個方法如果存在前面的集合元素包含後面的集合元素時候,也會返回1,所以可以在前後加上不可能出現的字元來判斷。

mysql查詢之間 MySQL 查詢之間的最佳索引

我有乙個具有以下結構的表 create table geo ip id bigint 20 not null auto increment,start ip int 10 unsigned not null,end ip int 10 unsigned not null,primary key id...

mysql 集合 MySql集合查詢

select語句的查詢結果是元組的集合,所以多個select語句的結果可進行集合操作。集合操作主要包括並操作union 交操作intersect 差操作except。注意,參加集合操作的各查詢結果的列數必須相同 對應的資料型別也必須相同。本示例中的資料表有student,sc,course三個,資料...

mysql集合屬性 MySql集合查詢

select語句的查詢結果是元組的集合,所以多個select語句的結果可進行集合操作。集合操作主要包括並操作union 交操作intersect 差操作except。注意,參加集合操作的各查詢結果的列數必須相同 對應的資料型別也必須相同。本示例中的資料表有student,sc select語句的查詢...