gpt4 book ai didi

mysql - 在 SQL 中如何合并两个表而不丢失任何行?

转载 作者:可可西里 更新时间:2023-11-01 07:05:04 26 4
gpt4 key购买 nike

我正在尝试合并两个表。一个 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;

最佳答案

使用右连接

Select * from Students S RIGHT JOIN Department D on D.Dept_Id = S.Dept_id

或左连接

Select * from Department D LEFT JOIN Students S on D.Dept_Id = S.Dept_id

Learn more about how joins work here

关于mysql - 在 SQL 中如何合并两个表而不丢失任何行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41148029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com