sql - SQL 从 2 个表中选择,其中第二个表中的值可能不存在
问题描述
我有 2 张桌子:
- 具有列的学生(学生 ID、名字、姓氏)和
- 成绩(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;
推荐阅读
- python - Python从列表中创建链接
- python - tkinter 条目字段未使用 .insert 更新
- java - 我应该在 Jersey REST API 中上传期间限制文件名的长度吗?
- git - 如何从特定的提交计数中获取提交哈希(ID)?
- javascript - 表html jsreport中的两个值数据的乘法
- google-sheets - 如果单元格包含定义的值,则从行中提取数据
- python - discord.py 邀请跟踪器
- google-apps-script - 异常:在对象 SpreadsheetApp.Range 上获取方法或属性 setNumberFormats 时出现意外错误
- python - Dataframe.multiply 方法生成 NaN 值
- php - preg_match_all 仅替换第一次出现 @user php