Учитывая эту простую схему:Что происходит, когда вы присоединяетесь к «или» или в 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 указывают на различные первичные ключи в B? Должен ли я заканчивать несколько записей в результате соединения или просто по умолчанию для левой стороны и/или совпадения с A.R1 = B.pk?
PS: Я читаю код на планшете и не имеют БД, чтобы проверить его, поэтому, пожалуйста, не говорите мне, чтобы запустить его сам :) Я пробовал прибегая к помощи, но не нашел точная ситуация.
Вы получите дубликаты записей от A. –