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.
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.
We want to restrict data from the above table and show only Employee_Num and Employee_name then we will use the view.
Create view Viewname
as Select column_name1,Coumn_name2 from tablename.
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;
- 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
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
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|
Create view V_simple_view
As select Empno,Empname from Employee;
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;