select e.employee_id, e.employee_name, coalesce(pe.performance_score,0) as first_half_2024_score, row_number() over (partition by pr.project_id order by pe.performance_score desc,e.employee_id asc) as project_group_rank, e.department, pr.project_name as project_group from employees e left join performance pe on e.employee_id=pe.employee_id inner join projects pr on pr.project_id=pe.project_id and pr.start_date between '2024-01-01' and '2024-07-01' order by pr.project_id asc,project_group_rank asc,e.employee_id asc
from employees e
left join performance p on e.id = p.eid
inner join projects pr on pr.id = p.pid and pr.start_date between ...
第三个inner join不会保留第一个表的所有行