鉴于这个简单的模式:
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 都指向 B 中不同 PK 的行怎么办?由于连接,我最终会得到多条记录,还是只是默认到 or 的左侧并匹配 A.R1 = B.pk?
PS:我正在平板电脑上阅读代码并且没有数据库来测试它,所以请不要告诉我自己运行它:) 我尝试谷歌搜索但没有找到确切的情况。