繁体   English   中英

sql比内部联接的交集更好的方法

[英]sql Better way than intersection of inner-join

我们有2列的表格:ObjectName和ObjectColor。 这是一个多对多表。 我们有一组给定的颜色{x,y,z,...}

我们要选择存在所有给定颜色的ObjectName列表。

如果我们有N种颜色,我可以想象在同一张表上有N-1个交集的sql查询。 或者我们也可以想象该表上有N-1个自联接。

有更好的解决方案吗? MySQL是否有特定的解决方案?

认为

这是一种方法:

select objectname
from t
where objectcolor in (x, y, z)
group by objectname
having count(*) = 3;

您需要调整“ 3”以匹配列表的大小。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM