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

The Essential Guide to Cryptocurrency Exchange Platform Development for Beginners and Beyond

Introduction Cryptocurrencies took the world by storm, setting up a new financial system and breaking…

5 months ago

Top 20 System Administrator Interview Questions and answers

In my previous article I have given Top 20 technical support interview questions with its…

8 months ago

Desktop Support Scenario Based Interview Questions

In my previous articles I have given 15 most asked desktop support interview questions with…

8 months ago

How Do Business Analysts Use SQL for Their Needs?

A business analyst is someone who is versed in processes of data analysis used for…

8 months ago

Top 15 Control-M Interview Questions with Answers

In my previous article I have already given top questions and answers for Desktop support…

8 months ago

Top 20 SQL Interview Questions for Production Support

In my previous article I have given unix production support interview questions and answers. In…

8 months ago