簡體   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