我有两个实体: Games
(让它有对象 a
, b
) Tags
(让它有对象 1
, 2
)
还有一张连接桌 GameTags
它与两个实体都有一对多的关系( Games
& Tags
). 这意味着如果 a
关联到 1
以及 2
以及 b
关联到 1
,则表中将有三条记录 GameTags
.
问题:
给定,我有一个搜索标签列表( ST
),我想找到所有的游戏谁的标签是一个子集 ST
或等于 ST
.
天真的方法:
我考虑过的一种幼稚的方法——全部执行 2^n -1
sql查询并为所有生成的游戏查找所有标记并与 ST
排除不属于 ST
. 但是,我相信一定有更好的方法来处理sql中的集合。
1条答案
按热度按时间bxfogqkk1#
必须使用如下所示的exists子查询: