sql >> Base de Datos >  >> RDS >> Mysql

Consulta MySql self JOIN

Puede utilizar la agregación aquí:

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

Esta consulta debería beneficiarse del siguiente índice:

CREATE INDEX idx ON skill_usage (skill_id, job_id);

Tanto el WHERE y HAVING las cláusulas, tal como están escritas, son sargable y debería poder aprovechar este índice.