问题 单项选择题

学生表SX.DBF的结构为:
SX(学号C(5),姓名C(10),年龄N(2,0),性别L,系科号C(2))
系科表XK.DBF的结构为:XK(系科号C(2),系科名C(3))
其中有的学生还没有分配系科,现查询所有学生的学号、姓名、系科名,没有分配系科的只显示学号、姓名,则可以完成该查询的是______。
①使用左连接,左表为SX.DBF,右表为XK.DBF,通过公共字段“系科号”连接。
②使用右连接,左表为SX.DBF,右表为XK.DBF,通过公共字段“系科号”连接。
③使用左连接,左表为XK.DBF,右表为SX.DBF,通过公共字段“系科号”连接。
④使用右连接,左表为XK.DBF,右表为SX.DBF,通过公共字段“系科号”连接。

A.只有①

B.只有②

C.①和④

D.②和③

答案

参考答案:C

解析: 多表查询的连接类型有4种:内部连接(Inner Join),左连接(Left Outer Join),右连接(Right Outer Join),完全连接(Full Join)。内部连接是指只有满足条件的记录包含在结果中。左连接是指左表记录与右表所有记录比较字段值,若有满足连接条件的,则在产生一个真实记录,若都不满足,则在产生的记录中,来自于右表字段的值为空值NULL。右连接是指右表记录与左表所有记录比较字段值,若有满足连接条件的,则产生一个真实记录,若都不满足,则产生的记录中来自于左表字段的值为空值NULL。完全连接是指先按右连接比较字段值,再按左连接比较字段值。
本题查询所有学生的学号、姓名、系科号,涉及SX.DBF和XK.DBF两个表,通过公共字段“系科号”连接。由于没有分配系科的也要显示其学号、姓名,因此可以将SX.DBF作为左表,使用左连接,也可以将SX.DBF作为右表,使用右连接。

多项选择题
单项选择题 案例分析题