一尘不染

SQL-从多个表创建视图

sql

我有三个表:

POP(country, year, pop)
FOOD(country, year, food)
INCOME(country, year, income)

我正在尝试创建一个视图,例如:

V(country, year, pop, food, income)

到目前为止,这是我的代码。我认为这是不正确的:

CREATE VIEW V AS
(SELECT * FROM POP
UNION
SELECT * FROM FOOD
UNION
SELECT * FROM INCOME);

一个问题是,存在的国家POP可能不在中FOOD。一年也是如此。存在的年份POP可能不存在FOOD。因此,我一直认为上述代码无法正常工作。


阅读 156

收藏
2021-05-05

共1个答案

一尘不染

谢谢您的帮助。这就是我为了使它工作而最终要做的事情。

CREATE VIEW V AS
    SELECT *
    FROM ((POP NATURAL FULL OUTER JOIN FOOD)
    NATURAL FULL OUTER JOIN INCOME);
2021-05-05