如何从多个表创建视图?

时间:2013-11-16 17:06:10

标签: oracle sql-view

CREATE VIEW Te AS
SELECT
select sno,sname,dept,'madinah'as universty name from med_std
union
select sno,sname,dept,'yanbu'as universty name from yun_std

1 个答案:

答案 0 :(得分:1)

你连续有两个SELECT语句;删除其中一个:

CREATE VIEW Te AS
select sno, sname, dept, 'madinah' as universty name from med_std
union
select sno, sname, dept, 'yanbu' as universty name from yun_std

虽然您正在使用它,但您可能需要认真考虑规范化数据库;为什么每所大学都有一张单独的桌子?如果将它全部放在一个表中,那么您不需要查询多个表。

此外,如果可能的话,我强烈建议在这种情况下使用UNION ALL而不是UNION。 UNION将尝试对结果集进行不同的排序;因为你的大学在两个表之间有不同的名称,所以没有必要做一个独特的,所以你也可以不尝试它。如果要从表的一个中删除重复项,则只应使用UNION。有关详细信息,请参阅the documentation