如何在不丢失SQL中的任何行的情况下合并两个表?

Nat*_*rov 5 mysql sql merge

我正在尝试合并两个表.一个student表和department表,但我不希望失去任何没有学生的部门.当我使用时,NATURAL JOIN我丢失它们,因为主键是,DEPT_ID而某些部门没有学生,因此它们不会出现在合并表中.我试过看其他合并表的方法到目前为止我没有运气.

我的尝试:

SELECT DEPT_NAME, 
COUNT(DISTINCT STUDENT_ID) AS NumberOfStudentsInDepartment
FROM Students RIGHT JOIN Departments
GROUP BY DEPT_NAME
ORDER BY 2 DESC, 1 ASC;
Run Code Online (Sandbox Code Playgroud)

bug*_*s94 5

使用正确加入

Select * from Students S RIGHT JOIN Department D on D.Dept_Id = S.Dept_id
Run Code Online (Sandbox Code Playgroud)

或者左加入

Select * from Department D LEFT JOIN Students S on D.Dept_Id = S.Dept_id
Run Code Online (Sandbox Code Playgroud)

详细了解联接如何在此处工作