内部联接帮助 - 如何订购表联接?

时间:2014-05-05 02:10:15

标签: sql

我有两张桌子:

班级(PK =导师)

列:ID / Tutor / Room

教师(PK FK =导师)

列:Tutor / Contact

我想加入两张桌子。 这些表的连接顺序是否重要?

即。

SELECT Class.ID, Class.Tutor, Teacher.Contact
FROM **Class INNER JOIN Teacher** ON Class.Tutor=Teacher.Tutor

或者我可以反过来这样做吗老师INNER JOIN班级呢?

两个表格还共享一个共同的列名称 Tutor 。 如果我在查询中使用Class.Tutor或Teacher.Tutor,这是否重要?

2 个答案:

答案 0 :(得分:3)

对于INNER JOIN,订单无关紧要;您将获得的结果集将包含公共字段Class匹配的TeacherTutor中的所有行,无论您指定哪个订单TeacherClass

当您使用OUTER JOIN时,订单确实很重要;我建议查看What is the difference between Left, Right, Outer and Inner Joins?的答案。

答案 1 :(得分:-2)

是的,订单很重要。 从班级中选择并加入教师将仅显示具有教师的班级 从教师中选择并加入班级将仅显示具有班级

的教师

根据您想要达到的目标,您将了解哪个最相关。

我建议使用" left join"但是,即使他们没有指定老师等,它也会给你所有的课程

FWIW" class"很可能是数据库,服务器端脚本和客户端脚本语言中的保留字。我找到了该表名的另一个词。