2
Select CH.id, CH.studentId, ST.name, CH.recordId, RC.name 
from checklist CH, student ST, record RC
Where CH.studentId=ST.id and CH.recordId=RC.id

以上是使用mysql的查询。上面查询的问题是当 CH.recordId 的值为 null 时,它不会显示任何结果。现在我的问题是即使 CH.recordId 为空,如何显示结果?在 mysql 结果选项卡中,CH.recordId 和 RC.name 列将为空。

谢谢。

4

2 回答 2

1

使用显式连接语法,以便您可以进行左连接

select CH.id, CH.studentId, ST.name, CH.recordId, RC.name
from checklist CH
join student ST
  on ST.id = CH.studentId
left join record RC
  on RC.id = CH.recordId
于 2012-11-12T01:36:13.370 回答
0

LEFT JOIN表而不是INNER JOIN, 并使用新的 SQL-92 语法,如下所示:

SELECT CH.id, CH.studentId, ST.name, CH.recordId, RC.name 
FROM checklist CH
LEFT JOIN student ST ON CH.StudentId = ST.id
LEFT JOIN record RC ON CH.recordId = RC.id
于 2012-11-12T01:36:26.483 回答