आप एक और JOIN
का उपयोग कर सकते हैं दूसरे IN
. से बचने के लिए . उप-चयन केवल उन्हीं व्यक्तियों को लौटाता है जो टेनिस और सॉकर दोनों खेलते हैं:
SELECT *
FROM Person
WHERE Person.Id IN
(
SELECT spp1.PersonId
FROM SportsPerPerson spp1
JOIN SportsPerPerson spp2 ON ( spp2.PersonId = spp1.PersonId )
JOIN Sports s1 on spp1.SportsId = s1.Id
JOIN Sports s2 on spp2.SportsId = s2.Id
WHERE s1.Name = 'Tennis'
AND s2.Name = 'Soccer'
)