Link to the offline project I’m referring to is: https://www.codecademy.com/paths/design-databases-with-postgresql/tracks/what-can-i-do-with-a-database/modules/querying-baseball-data-off-platform-project/informationals/off-platform-project-baseball-through-the-years
I was working on the big spender task and originally I used the below code:
SELECT SUM(salary), teams.name, salaries.yearid FROM salaries LEFT JOIN teams ON teams.teamid = salaries.teamid GROUP BY teams.name, salaries.yearid ORDER BY SUM(salary) DESC;
This code seemed to work fine but when I checked the solutions file their code was:
SELECT SUM(salary), teams.name, salaries.yearid FROM salaries LEFT JOIN teams ON teams.teamid = salaries.teamid AND teams.yearid = salaries.yearid GROUP BY teams.name, salaries.yearid ORDER BY SUM(salary) DESC;
If I run the solutions code it returns a different answer so I guess it does make a difference if you join in two places rather then once but I don’t know why this is. Can anyone let me know why I should join on 'teams.teamid = salaries.teamid ’ and ‘teams.yearid = salaries.yearid’ rather then just one of them? Is it to do with grouping them correctly?