假设我有以下两个表:
Persons Table:
Name
ID[Primary Key]
Fruits Table:
Name
ID[Foreign Key Persons.ID]
这是一个用于存储人和他们喜欢的水果的表结构。现在,如果我想找到所有喜欢“Apple”和“Orange”的人(这将是动态的)。我该如何设计SQL查询?
答案 0 :(得分:2)
您可以使用以下查询来获取所有喜欢苹果和橙子的人的ID:
SELECT p.ID
FROM Persons AS p
JOIN Fruits AS f ON p.ID = f.PersonsID
WHERE f.Name IN ('Apple', 'Orange')
GROUP BY p.ID
HAVING COUNT(DISTINCT f.Name) = 2