You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL查询问题:如何返回含NULL值的学生/家长列表

解决方法

把你的内连接(JOIN)改成左外连接(LEFT JOIN),就能保留所有学生记录,没有对应家长的位置会自动显示NULL。修改后的代码如下:

SELECT child.name AS Child, parent1.name AS Parent1, parent2.name AS Parent2
FROM Person child 
LEFT JOIN Person parent1 ON child.parentID1 = parent1.personID 
LEFT JOIN Person parent2 ON child.parentID2 = parent2.personID 
ORDER BY child.name; 

原因说明

  • 你原来用的JOIN是内连接,它只返回两个表中完全匹配连接条件的行。如果某个学生的parentID1或parentID2是NULL,或者对应的personID在Person表中不存在,这行记录就会被过滤掉。
  • LEFT JOIN会保留左表(这里是学生对应的Person表)的所有行,当右表(家长对应的Person表)没有匹配的记录时,右表的字段就会填充NULL,正好符合你的需求。

内容的提问来源于stack exchange,提问作者CShep878

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 04:09:50