What is Difference between Simple view and complex view ?

Views in SQL is nothing but the logical table created from one or more tables. We can use the views to fetch the columns from one or more different tables at a time. In real life specifically views are used in Reporting purpose. To create a report we need data from different tables and need to show it on a single dashboard so we are using the views to fetch the data from different tables. View can contain all rows from the table or selected rows from the table. I would like to give more information about difference between simple view and complex view in detail.

CLICK HERE TO GET INFORMATION ON MATERIALIZED VIEW……..

View is nothing but virtual table in sql which will fetch data from one or more physical tables

There are 2 types of views in SQL:

1.Simple View-Simple view is view created on single table

2.Complex View-Complex view is view created on more than 1 tables

  • Simple View:

When user wants data or some columns from same table then simple view is used. For an example if there is employee table which has Employee_num,Employee_name,salary columnns and we just need to see Employee_num,Employee_name then user can create a simple view.

Employee_num Employee_name Department Salary
1 Amit OBIEE 680000
2 Rohan OBIEE 550000
3 Rohit OBIEE 430000

We want to restrict data from the above table and show only Employee_Num and Employee_name then we will use the view.

Syntax:

Create view Viewname

as Select column_name1,Coumn_name2 from tablename.

Example:

Create view V_Employee

as Select Employee_num,Employee_name from Employee;

You can access the view using Select statement of SQL:

select * from V_Employee;

Output:

Employee_num Employee_name
1 Amit
2 Rohan
3 Rohit
  • Complex View:

Complex view is created on using more than one tables. When user wants to retrieve data from more than 1 table then we have to use complex views. To create complex view there should be relation between 2 tables else cartesian product will come by joining 2 tables. There should be some joining conditions, some filters needs to be considered while creating complex views.

Suppose there are 2 tables:

1.Employee tables:-Employee_name,Employee_num,Department_code columns

2.Department:-Department_code,Deptartment_name columns

We need to create view where we want to show the associated department to employee.Here We need to use complex join.

Create view V_EMP_DEPT

as Select e.Employee_name,d.Department_name

from Employee e,Department d

where e.Department_code=d.Department_code;

If you have any issues regarding SQL Views or If you want notes in PDF format comment below section.

Difference between simple view and complex view in tabular format :

Simple View Complex View
Simple view is the view which has been created by only one table. Complex view is the view where we require to join multiple tables together for specified result.
We can not use group functions in simple views We can able to use group functions
You can perform multiple DML operations using simple view You can not perform DML operations using complex view
It does contain data from only one table It does contain data from multiple tables
We can not be able to use group by clause in simple view as grouping is not allowed We can use group by clause in complex view
We can not be able to use pseudo columns like rownum and distinct keyword We can use the pseudo columns and rownum
Example :

Create view V_simple_view

As select Empno,Empname from Employee;

Example :

Create view V_Complex_view

As Select e.emp_no,d.dept_no,e.emp_name from Employee e ,Department d where e.dept_no=e.dept_no;

I hope you are clear with difference between simple view and complex view with examples. If you like this article or if you have any issues with the same kindly comment in comments section.

CLICK HERE TO GET  20 MOST IMPORTANT SQL INTERVIEW QUESTIONS
HOME

Amit S

Oracle Consultant with vast experience in Oracle BI and PL/SQL Development. Amiet is the admin head of this website who contributes by preparing tutorials and articles related to database technologies. He is responsible to manage the content and front-end of the website.

Recent Posts

Application Support Engineer Day to day responsibilities

In my previous articles I have given the roles and responsibilities of L1,L2 and L3…

2 days ago

What is mean by SLA ( Service Level Agreement) with Examples?

In my previous articles i have given the hierarchy of production support in real company…

5 days ago

What is Production support Hierarchy in organization?

In this article i would like to provide information about production support organization structure or…

5 days ago

What are roles and responsibilities for L3 Support Engineer?

In my previous article I have given roles for L1 and L2 support engineer with…

5 days ago

What are roles and responsibilities of L2 Engineer?

I have started this new series of how to become application support engineer. This article…

5 days ago

What are Roles and Responsibilities of L1 Support Engineer with real industry examples?

In this series we are starting with Roles and responsibilities of L1 support engineer .…

5 days ago