Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy to zapytanie sql można uprościć?

Możesz użyć innego JOIN aby uniknąć drugiego IN . Podwybór zwraca tylko te osoby, które grają zarówno w tenisa, jak i piłkę nożną:

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. MySQL - SQLite Jak ulepszyć to bardzo proste zapytanie?

  2. Jak przekonwertować epoch na znacznik czasu mySQL w JAVA

  3. Jaka jest najlepsza definicja pola do przechowywania ułamka dziesiętnego platformy .NET w MySQL?

  4. Wysyłanie zmiennych w adresach URL w PHP z echo

  5. Jak zapisać link w mysql?