if pk exist either in Table A or B, return it
think should union 3:
SELECT A.PK AS A_PK, A.Value AS A_Value FROM Table_A A INNER JOIN Table_B B ON A.PK = B.PK
UNION
SELECT A.PK AS A_PK, A.Value AS A_Value FROM Table_A A LEFT JOIN Table_B B ON A.PK = B.PK WHERE B.PK IS NULL
UNION
SELECT B.Value AS B_Value, B.PK AS B_PK FROM Table_A A RIGHT JOIN Table_B B ON A.PK = B.PK WHERE A.PK IS NULL
hope it works