连接类型
你也许已经留意到,在添加表的时候,可以指定连接类型:
有三种连接类型:
- 内连接
左表和右表都具备的数据才会出现在查询表中。
在上图中,如果某个订单在产品表中没有对应的产品,那么这个订单不会出现在查询表中,同样如果某个产品在订单表中没有对应的订单,那么这个产品也不会出现在查询表中。
- 左连接
左表的所有数据出现在查询表中。
在上图中,由于订单表是左表,所以所有订单都会出现在查询表中,不管这个订单在产品表中是否有对应的行。
- 右连接
右表的所有数据出现在查询表中。
在上图中,由于产品表是右表,所以所有产品都会出现在查询表中,不管这个产品是否有订单。
提示:
- 内部数据源和Access数据源对于连接类型的支持不如SQl Server全面,例如上图中如果全部选择为右连接,预览的时候会提示“不支持的连接表达式”。
-
参与查询的表通常存在一对多的关系,例如产品表和订单表,客户表和订单表,都是一对多的关系,因为一个产品或客户会有多个订单。
这种一对多的关系,通常称之为父子关系。
在查询表生成器添加数据表的时候,应该将多方(就是子表)作为左表,一方(就是父表)作为右表。
所以在上图中,订单表始终是左表,而产品表和客户表都是右表。
本页地址:http://www.foxtable.com/webhelp/topics/2326.htm