鉴于这种简单的模式:当您加入“或”或SQL时会发生什么?
create table A(pk int primary key, R1 int, R2 int);
create table B(pk int primary key);
如果我做下面的查询和使用OR,如下图所示加入到底会发生什么?
select *
from A
join B
on A.R1 = B.pk or A.R2 = B.pk
我感兴趣的是下面的情况:
如果一个行存在,其中R1和R2指向不同的PK B中?作为连接的结果,最终是否有多条记录?或者它只是默认在or的左侧,并且与A.R1 = B.pk匹配?
PS:我在平板电脑上阅读代码,并没有一个数据库,以测试它,所以请不要告诉我运行它自己:)我试着用搜索引擎,但没有找到确切的情况。
您将以A的重复记录结尾。 – 2013-03-23 18:18:28