gpt4 book ai didi

mysql - 如何使用不同的列进行干净的连接而不重复

转载 作者:行者123 更新时间:2023-11-29 23:19:35 25 4
gpt4 key购买 nike

我有一个包含所有学生姓名的表格,另一个包含学生姓名及其类(class)注册情况的表格,我想向两个学生显示他们的类(class)名称,即使他们没有注册任何类(class),我在已注册和未注册的类(class)之间使用并集注册唯一的问题就是名字重复

学生(student_id、student_name、专业、级别、年龄)已注册(student_id、class_name、学期)

这是 MySQL 查询:

从学生自然加入注册联盟中选择student_name,class_name从学生组中按student_name选择student_name,null作为class_name;

最佳答案

这对你有用吗?

SELECT 
s.student_name,
e.class_name
FROM
student s
LEFT JOIN enrolled e ON s.student_id = e.student_id
GROUP BY student_name;

当一个表可以有空值而另一个表不能有空值时,使用 LEFT JOIN。 “左”表(本例中为学生)是最重要的表,“右”表(注册)可以为空。

所以它总是会找到学生表,但是当它找不到链接到该学生的类(class)名称时,它只会显示为 NULL。

如果您希望同一学生多次注册,则必须删除分组依据。

关于mysql - 如何使用不同的列进行干净的连接而不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27443754/

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