sql >> データベース >  >> RDS >> Mysql

このSQLクエリを簡略化できますか?

    別のJOINを使用できます 2番目の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. ORA-28113:ポリシー述語にエラーがあります

    2. MYSQL ORDERBYCASEの問題

    3. パラメータを使用して複数の行を選択する方法はありますか?

    4. 同じ列で満たすMYSQLANDクエリ