SQL多连接混淆

时间:2015-12-17 04:06:31

标签: sql ms-access-2010

我有3个表正在加入(内容应该无关紧要): 学生们 课程 StudentsCourses

我的查询:

SELECT *
FROM ((Students
INNER JOIN StudentsCourses ON Students.ID  
StudentsCourses.studentID)
INNER JOIN Courses on StudentsCourses.courseID = Courses.ID)
ORDER BY Students.firstName

我的问题:

我在第一次加入时理解我正在将学生和学生课程结合起来。我不明白的是第二次加入加入的内容。这是学生和学生课程加入的结果吗?像(学生+学生课程)+课程。如果我没有明确指定要加入的表,第二个连接如何知道StudentsCourses.courseID是什么?

1 个答案:

答案 0 :(得分:0)

你必须考虑SQL中的“集合”。在定义FROM子句时,您正在准备一个将由数据库引擎的优化器解释的语句。

你是什么意思“如果我没有明确指定要加入的表?”

到目前为止,在本声明中您只有2个选项,学生或学生课程,因为这些是在第二个JOIN之前定义的2个表。