P.switch,P.join ,Join 三者的区别应用

在多对 1 关联的时候,采用
P.switch()
不带任何参数,默认是从 P 左连接
@i 过程中找不到任何 F 对应值则删除该记录
@d 与@i相反,只保留找不到的记录
P.join(C:.,T:K,x:F,…; …;…)
不带任何参数,默认是从 P 的左连接
@i,@d 与 switch 的含义一致

在一对多关联的时候,采用
join(Ai:Fi,xj,..;…)
不管是多少个排列之间关联,都是和 A1 中的 x1 相等判断。
不带任务参数,默认是 inner join,产生的结果是 ref 字段
@1, 代表左连接

@i,代表只是对A1集合的过滤,保留找到的记录,与其他集合无关
@d,代表只是对A1集合的过滤,删除找不到的记录。

疑问:
1、在 join 中,默认是 inner join, 与之前的 p.switch,p.join 的默认方式(都是左连接)不一样
为什么 join 默认不采用左连接?
2、在 join 中的 @i 与 p.join 中的@i 的操作结果一样吗?