mysql 获取交集数据

mysql 获取交集数据,第1张

你是要查前十个查询结果中相同的那些记录,而不求前十个相同记录吧,因为这是有差别的,按照你的语句,应该是求前者,即先求出A的前十条数据,B的前十条数据,再求它们的交集。

既然是求交集,那么这两个表的关系模式应该是相同的了,

select

a.*

from

(select

*

from

table

order

by

table.a

desc

limit

10)

as

a,

(select

*

from

table

order

by

table.b

desc

limit

10)

as

b

where

a.primary_key

=

b.primary_key

--先将两个结果作为两张临时表,然后通过主键

primary_key来获取交集(交集肯定就是主键相等的了,因为关系模式相同)

查询1:

select * form A where keywords like '%小猫%'

查询2:

select * form A where keywords like '%小狗%'

select * from 查询1 a inenr join 查询2 on a.keywords=b.keywords

根据文恩图的意义,可以看出:Ⅰ部分:A∩B,Ⅱ部分:A∩CUB,Ⅲ部分:B∩CU(A∩B),Ⅳ部分:CU(A∩B),只有第Ⅳ不是两个集合的交集的补集,而是两个集合的并集的补集,故选D.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7455026.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存