繁体   English   中英

SQL 从 2 个表中选择,其中第二个表中的值可能不存在

[英]SQL select from 2 tables where values in the second table might be absent

我有2张桌子:

  1. 有列的学生(学生 ID、名字、姓氏)和
  2. 成绩(gradeid,studentid,成绩)。

我如何选择所有学生,包括那些没有成绩的学生(因此,他们不在成绩表中)。 例如:

学生们

100   StudentFN1  StudentLN1
101   StudentFN2  StudentLN2
102   StudentFN3  StudentLN3

成绩

1   101   90
2   102   70

所以我希望所有学生都被选中,即使是不在成绩中的学生 102。 学生 102 年级应为空。

您正在寻找外连接:

select *
from students
left outer join grades on grades.studentid = students.studentid
order by students.studentid;

您需要做的就是左连接

select 
student.*, grade_id, grade
from students
left join grades 
  on students.student_id = grades.student_id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM