多个表上的SQL查询

时间:2016-06-07 05:54:29

标签: mysql sql-server

假设我有以下两个表:

Persons Table:  
Name  
ID[Primary Key]

Fruits Table:  
Name  
ID[Foreign Key Persons.ID]

这是一个用于存储人和他们喜欢的水果的表结构。现在,如果我想找到所有喜欢“Apple”“Orange”的人(这将是动态的)。我该如何设计SQL查询?

1 个答案:

答案 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