Съюзът не е това, което искате. Искате да използвате съединения за създаване на единични редове. Малко не е ясно какво представлява уникален ред във вашите таблици и как те наистина се свързват помежду си, а също така не е ясно дали една таблица ще има редове за всяка страна всяка година. Но мисля, че това ще работи:
CREATE VIEW V AS (
SELECT i.country,i.year,p.pop,f.food,i.income FROM
INCOME i
LEFT JOIN
POP p
ON
i.country=p.country
LEFT JOIN
Food f
ON
i.country=f.country
WHERE
i.year=p.year
AND
i.year=f.year
);
Лявото (външно) присъединяване ще върне редове от първата таблица, дори ако няма съвпадения във втората. Написах това, предполагайки, че ще имате ред за всяка страна за всяка година в таблицата на доходите. Ако не, нещата стават малко космати, тъй като MySQL няма вградена поддръжка за ПЪЛНИ ВЪНШНИ ПРИСЪЕДИНЕНИЯ последно, което проверих. Има начини да се симулира и те ще включват синдикати. Тази статия навлиза в известна дълбочина по темата:http://www.xaprb.com/blog/2006/05/26/how-to-write-full-outer-join-in-mysql/