Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Có thể đơn giản hóa truy vấn sql này không?

Bạn có thể sử dụng một JOIN khác để tránh IN thứ hai . Lựa chọn phụ chỉ trả về những người chơi cả Quần vợt và Bóng đá:

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. Trích xuất Ngày / Tháng / Năm từ Dấu thời gian trên MYSQL

  2. Tích hợp C # và MySql

  3. Chuyển đổi ngày carbon thành dấu thời gian mysql.

  4. So sánh Oracle MySQL, Percona Server và MariaDB

  5. Đăng Google Biểu mẫu lên cơ sở dữ liệu MySQL?