A recruiting tool matches candidates to open roles.
- •
jobs (job_id, title) lists the roles. - •
job_skills (job_id, skill) lists each role's required skills. A role can have no requirements at all, and the table may list a skill twice for a role. - •
candidates (candidate_id, name) lists every candidate, including some with no skills recorded yet. - •
candidate_skills (candidate_id, skill) lists the skills each candidate has; it may also repeat a row.
A candidate qualifies for a role when they have every skill the role requires. A role with no requirements is open to every candidate.
Return every (role, qualifying candidate) pair.
Columns: job_id, candidate_id. Sort by job_id, candidate_id.