Building a view with union

Posted on 2004-09-01
Last Modified: 2007-12-19
Hi everybody:

I need to build a view in Oracle 8i or 9i. This view must make a UNION from to tables.


I have this:

table: employee
name: varchar
age: number

table: app_user
name: varchar
age: number

I need this:

create view myuser as
  select name, age from employee
  select name, age from app_user

Thanks in advanced
Question by:vcarballo
LVL 12

Expert Comment

Comment Utility

I do not know why you are asking the question while you are providing the anwser at the same time. Have you tried yours? It should work:

SELECT name, age FROM employee
SELECT name,age FROM app_user;



Expert Comment

Comment Utility
I agree with geotiger.  you have already answered your query.

Are you getting any error while creating view?
LVL 11

Accepted Solution

cjjclifford earned 250 total points
Comment Utility
Note that if you don't mind duplicates in the view (i.e. if there are possibly the same rows in both the "employee" and "app_user" tables, and these both occurring in the view), then use "UNION ALL" rather than "UNION" - UNION is a strict union, so any row in the resulting view will only appear once - to do this the UNION performs a full sort and filters any duplicate rows. UNION ALL is all the rows from the first SELECT and all the rows from the second SELECT, any duplicated rows will remain duplicates, but there is no sort etc... (basically, UNION with large tables is very unadvised, if at all possible to avoid... its very similar to using DISTINCT without needing it...


Expert Comment

Comment Utility
One thing to be aware of is that the UNION option will cause any identical entries in both tables to be only displayed once (which is probably what you want).  However, these are really big tables, remember that there will be a unique sort possibly causing a large performance overhead.

UNION ALL will simply join the results from both tables without the unique sort but this is only useful if each table stores different entries.

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Cursors in Oracle: A cursor is used to process individual rows returned by database system for a query. In oracle every SQL statement executed by the oracle server has a private area. This area contains information about the SQL statement and the…
Background In several of the companies I have worked for, I noticed that corporate reporting is off loaded from the production database and done mainly on a clone database which needs to be kept up to date daily by various means, be it a logical…
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
This video shows how to configure and send email from and Oracle database using both UTL_SMTP and UTL_MAIL, as well as comparing UTL_SMTP to a manual SMTP conversation with a mail server.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now