Microsoft Access自连接问询:主表判定及关联表外连接设置
Microsoft Access自连接问题解答
问题1:Table1是否为主表、Table2为关联表?
没错,在你这个自连接场景里,Table1就是主表,Table2是关联表。原因很简单:自连接本质上是把同一张表拆成两个逻辑表来用,主键所在的表(Table1)通常作为主表,而带外键的副本表(Table2)则是用来关联匹配的关联表——毕竟外键就是用来指向主表主键的,这个角色划分完全符合Access关联的逻辑。
问题2:外连接选项该怎么选?
当你打开“连接属性”后,会看到两个外连接选项,咱们来拆解一下:
- 第一个选项:
包含Table1的所有记录及仅那些在Table2中匹配的记录
这就是左外连接,如果你想保留主表Table1的所有数据,不管Table2里有没有对应的匹配记录(没有匹配的话,Table2的字段会显示空值),就选这个。这也是自连接里最常用的场景,比如用来查询层级数据(比如员工和直属领导)时,能确保所有员工都被列出来,哪怕有些员工没有对应的领导记录。 - 第二个选项:
包含Table2的所有记录及仅那些在Table1中匹配的记录
这是右外连接,它会保留关联表Table2的所有数据,Table1中不匹配的记录会显示空值。这个场景用得相对少,除非你特别需要关注Table2里的所有条目,哪怕它们在主表里找不到对应项。
结合你的需求(对关联表使用外连接),如果你的核心是要保留主表Table1的完整数据,同时关联匹配Table2的内容,那选第一个选项就对了。
内容的提问来源于stack exchange,提问作者Leo Evans
相关产品推荐
相关产品推荐

