C.4 内部联接

含义:对于不同结构的表或查询,如果这些表或查询具有关联的字段,那么将这些表或查询指定字段的记录按关联的字段整合在一起。

(1)使用单个内部联接的语法:

SELECT {表名称.}字段FROM表1 INNER JOIN表2 ON关联字段

如果希望在如图C-3所示的“学生信息”和“成绩表”数据列表中,查询参加考试学生的各科目成绩及其担任职务的数据记录,可以使用以下SQL语句。

SELECT A. *,B.职务 FROM [成绩表$]A INNER JOIN [学生信息$]B ON A.学生=B.学生 WHERE B.职务 IS NOT NULL

最终生成的数据透视表如图C-5所示。

(2)使用多个内部联接的语法:

SELECT {表名称.}字段 FROM(……(表1 INNER JOIN表2 ON关联字段)INNER JOIN表3 ON关联字段……)INNER JOIN表x ON关联字段

img502a

图C-5担 任职务的学生成绩数据列表

如果希望在如图C-3所示的“学生信息”、“科目”和“成绩表”数据列表中,查询参加考试的学生担任的职务、各科目的成绩和各科目任课老师的数据记录,可以使用以下SQL语句。

SELECT A.学生,A.科目,A.分数,B.职务,C.任课老师FROM([成绩表$]A INNER JOIN [学生信息$]B ON A.学生=B.学生)INNER JOIN [科目$]C ON A.科目=C.科目名称

最终生成的数据透视表如图C-6所示。

img502b

图C-6学 生职务、科目成绩和科目任课老师数据列表