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

Truy vấn MySql self JOIN

Bạn có thể sử dụng tổng hợp tại đây:

SELECT job_id
FROM skill_usage
WHERE skill_id IN (3, 4)
GROUP BY job_id
HAVING MIN(skill_id) <> MAX(skill_id);

Truy vấn này sẽ được hưởng lợi từ chỉ mục sau:

CREATE INDEX idx ON skill_usage (skill_id, job_id);

Cả WHEREHAVING các mệnh đề, như đã viết, là sargable và sẽ có thể tận dụng chỉ số này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn để tìm địa điểm trong một vĩ độ / lng nhất định

  2. Cách so sánh hai cột để tìm các bản ghi chưa khớp trong MySQL

  3. Làm cách nào để đặt innodb_buffer_pool_size toàn cầu?

  4. có thể truy cập từ xa vào cơ sở dữ liệu mysql trên các máy chủ được chia sẻ không?

  5. Tạo truy vấn động trong MySQL thủ tục được lưu trữ