我正在尝试学习各种表格中各个字段之间的参照关系,但我无法弄清楚以下内容:
如果我有两张桌子:
1)一个是有名字,年龄,身份,成绩和成绩的学生。
2)其中一个是教师点名,其中包括班级名称,班级编号和参加班级的学生的ids。
如何编写类似于此伪的查询:
SELECT classname and sectionnumber WHERE the students in the class at least junior?
如何在一个表中使用该字段来引用另一个引用表中的字段值?
答案 0 :(得分:0)
select a.classname, a.sectionNo
from ClassRosert a
inner join Student b using(studentId)
where b.class = 'junior';
或者在那种情况下你可以做到
select a.classname, a.sectionNo
from ClassRosert a, Student b
where a.studentId = b.studentId
and b.class = 'junior';
但我会推荐第一个,因为你更清楚的是你要加入桌子。
请注意,在第一种情况下,我使用了using
关键字,因为映射值在两个表(studentId)中具有相同的名称。但是,如果在学生表中,它只会被称为ID或任何其他名称,那么联接将是inner join Student b on a.studentid = b.id