![](/img/trans.png)
[英]Select rows from a table satisfying criteria for all rows in a child table which have at least one record in another table
[英]Return all rows that have at least one reference with all the rows in another table
這是將每人捕獲的不同物種數量與物種總數進行比較的一種方法:
SELECT ID_person
FROM capture c
GROUP BY c.ID_person
HAVING COUNT(DISTINCT c.Id_species) = (SELECT COUNT(*) FROM species)
嘗試這個:
SELECT *
FROM person p
WHERE NOT EXISTS (
SELECT *
FROM species s
WHERE NOT EXISTS (
SELECT *
FROM captures c
WHERE
c.ID_species = s.ID_species
AND c.ID_person = p.ID_person
)
)
您要求的操作稱為關系除法。
句子“給我所有每個物種至少有一次捕獲的人”可以重寫為“給我所有不存在任何沒有捕獲的物種的人”這就是不存在發揮作用的地方
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.