Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्या इस एसक्यूएल क्वेरी को सरल बनाया जा सकता है?

आप एक और 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'
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. हम किसी तालिका में किसी फ़ील्ड द्वारा गतिशील क्रम को कैसे नियंत्रित करते हैं?

  2. बाएँ बाहरी जॉइन क्वेरी अपेक्षित पंक्तियों को वापस नहीं कर रही है

  3. MySQL उपयोगकर्ता को होस्ट एक्सेस अनुमति पुन:असाइन करें

  4. पीडीओ यूटीएफ -8 एन्कोडिंग मुद्दा?

  5. MySQL ब्लॉब में पायथन बाइनरी स्ट्रिंग ऑब्जेक्ट डालें