Можно сделать с какой-то работой, но вот некоторые sql
select distinct T.itemid, A.mark as "A.mark", B.mark as "B.mark"
from (select * from A union select * from B) T
left join A on T.itemid = A.itemid
left join B on T.itemid = B.itemid;
Это основывается на левом соединении, которое возвращает все строки в исходной таблице (в данном случае это таблица подвыборов T). Если в объединенной таблице нет совпадений, для столбца будет установлено значение NULL.