MySQL如何从引用的表中检索值?

时间:2014-09-21 16:34:49

标签: mysql

我正在尝试学习各种表格中各个字段之间的参照关系,但我无法弄清楚以下内容:

如果我有两张桌子:

1)一个是有名字,年龄,身份,成绩和成绩的学生。

2)其中一个是教师点名,其中包括班级名称,班级编号和参加班级的学生的ids。

如何编写类似于此伪的查询:

         SELECT classname and sectionnumber WHERE the students in the class at least junior?

如何在一个表中使用该字段来引用另一个引用表中的字段值?

1 个答案:

答案 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