Database
 sql >> база данни >  >> RDS >> Database

SQL VIEW

Концепцията SQL VIEW помага да се скрие трудността на записите и предоставя ограничения за достъп до базата данни.

SQL изгледът е подобен на SQL таблиците. В SQL таблици съхраняваме цели данни в редове и колони. По същия начин SQL View се използва и за съхраняване на записи в редове и колони, но само тези данни, които потребителят иска, а не ненужни данни.

SQL VIEW е виртуална таблица. SQL View позволява достъп само до записите на конкретни колони, а не до цялата таблица.

Можем лесно да създадем изглед, като изберем една или повече таблици с помощта на ключова дума CREATE VIEW. Можем също да актуализираме и изтриваме изгледа.

В цялата тази статия ще разберем концепцията за изглед за това как да създадете изглед, да изтриете изглед и да актуализирате изглед.

1 СЪЗДАВАНЕ НА SQL ИЗГЛЕД:-

В SQL можем лесно да създадем изглед, като използваме ключова дума CREATE VIEW. Можем да създадем изглед за единична таблица и таблица с множества.

Синтаксисът за CREATE VIEW (Единична таблица)

CREATE VIEW VIEW_NAME AS SELECT COLUMN_NAME1, COLUMN_NAME2 FROM TABLE_NAME WHERE CONDITION;    

Горният синтаксис е за създаване на изглед от една таблица. В горния синтаксис VIEW_NAME е името на изгледа за създаване на изглед в SQL. Table_name е името на таблицата, откъдето ще изберем конкретни записи, клаузата WHERE не е задължителна в SQL заявката.

Синтаксисът за CREATE VIEW (Множество таблици)

CREATE VIEW VIEW_NAME AS SELECT T1.COLUMN_NAME, T1.COLUMN_NAME2, T2.COLUMN_NAME1, T2.COLUMN_NAME2 FROM T1, T2 WHERE CONDITION;

Горният синтаксис е за създаване на изглед от множество таблици. В горния синтаксис VIEW_NAME е името на изгледа за създаване на изглед в SQL. T1, T2 е името на таблици, от които ще избираме конкретни записи, клаузата WHERE е по избор в SQL заявката.

Разгледайте следните таблици заедно с дадените записи.

Таблица 1:Изп.

ИДЕНТИФИКАТОР НА СЛУЖИТЕЛЯ FIRST_NAME LAST_NAME ЗАПЛАТА ГРАД ОТДЕЛ MANAGERID
1001 VAIBHAVI МИШРА 65 000 ПУНА ORACLE 1
1002 VAIBHAV ШАРМА 60 000 NOIDA ORACLE 1
1003 НИХИЛ VANI 50 000 ДЖАЙПУР FMW 2
2001 PRACHI ШАРМА 55500 ЧАНДИГАР ORACLE 1
2002 BHAVESH ДЖЕЙН 65500 ПУНА FMW 2
2003 РУЧИКА ДЖЕЙН 50 000 МУМБАЙ ТЕСТВАНЕ 4
3001 PRANOTI ШЕНДЕ 55500 ПУНА JAVA 3
3002 ANUJA КЪДЕ 50500 ДЖАЙПУР FMW 2
3003 DEEPAM ДЖАУХАРИ 58500 МУМБАЙ JAVA 3
4001 РАДЖЕШ GOUD 60500 МУМБАЙ ТЕСТВАНЕ 4

Таблица 2:Мениджър.

Managerid име_на_мениджър мениджърски отдел
1 Снехдип Каур ORACLE
2 Кирти Киртане FMW
3 Абхишек Маниш JAVA
4 Анупам Мишра ТЕСТВАНЕ

Примери за СЪЗДАВАНЕ НА ИЗГЛЕД от една таблица.

Пример 1:Напишете заявка за създаване на изглед с идентификатор на служител, име, фамилия, заплата от таблицата Emp.

CREATE VIEW EMPLOYEE_VIEW AS SELECT EMPLOYEEID, CONCAT (FIRST_NAME, CONCAT (“ ”, LAST_NAME)) AS NAME, SALARY FROM EMP;

В горната заявка създадохме име на изглед EMPLOYEE_VIEW с идентификатор на служител, обединяваме собствено и фамилно име като Име, Заплата от Emp Table.

Винаги, когато искаме да разгледаме записите в таблицата, използваме заявката SELECT * FROM; по същия начин, който ще направим за изглед, вместо името на таблицата, ще използваме име на изглед.

SELECT * FROM EMPLOYEE_VIEW;

Пример 2:Напишете заявка за създаване на изглед с идентификатор на мениджър, име на мениджър и отдел от таблицата на мениджъра.

CREATE VIEW MANAGER_VIEW AS SELECT MANAGERID, MANAGER_NAME, MANAGER_DEPARTMENT FROM MANAGER;

В горната заявка създадохме име на изглед MANAGER_VIEW с идентификатор на мениджър, име на мениджър и отдел от таблицата на мениджъра.

Винаги, когато искаме да разгледаме записите в таблицата, използваме заявката SELECT * FROM. Ще използваме името на изгледа. По същия начин ще направим за преглед вместо името на таблицата.

SELECT * FROM MANAGER_VIEW;

Пример 3:Напишете заявка за създаване на изглед с идентификатор на служител, име, фамилия, заплата, град на тези служители, чиято заплата е по-голяма от 54 000 и град включва Пуна и Мумбай от таблицата Emp.

CREATE VIEW EMPLOYEE_VIEW1 AS SELECT EMPLOYEEID, CONCAT (FIRST_NAME, CONCAT (“ ”, LAST_NAME)) AS NAME, SALARY, CITY FROM EMP WHERE SALARY > 54000 AND  CITY IN (‘PUNE’, ‘MUMBAI’);

В горната заявка създадохме име на изглед EMPLOYEE_VIEW1 с идентификатор на служител, обединихме собствено и фамилно име като име, заплата, град на тези служители, чиято заплата е по-голяма от 54 000 и използвахме оператор И с град включва Пуна и Мумбай от Emp Table .

Винаги, когато искаме да разгледаме записите в таблицата, използваме заявката SELECT * FROM. Ще използваме името на изгледа. По същия начин ще направим за преглед вместо името на таблицата.

SELECT * FROM EMPLOYEE_VIEW1;

Пример 4:Напишете заявка за създаване на изглед с идентификатор на мениджър, име на мениджър и отдел на онези мениджъри, чийто отдел е „Oracle“ и „Java“ от таблицата на мениджъра.

CREATE VIEW MANAGER_VIEW1 AS SELECT MANAGERID, MANAGER_NAME, MANAGER_DEPARTMENT FROM MANAGER; WHERE MANAGER_DEPARTMENT IN (‘ORACLE’, ‘JAVA’);

В горната заявка създадохме име на изглед MANAGER_VIEW с идентификатор на мениджър, име на мениджър и отдел на онези мениджъри, чийто отдел е „Oracle“ и „Java“ от таблицата на мениджърите.

Винаги, когато искаме да разгледаме записите в таблицата, използваме заявката SELECT * FROM. Ще използваме името на изгледа. По същия начин ще направим за преглед вместо името на таблицата.

SELECT * FROM MANAGER_VIEW1;

Всички горни примери за CREATE VIEW са от единични таблици. Следващият пример за CREATE VIEW е от множество таблици.

Разгледайте следните таблици заедно с дадените записи.

Таблица 1:Изп.

ИДЕНТИФИКАТОР НА СЛУЖИТЕЛЯ FIRST_NAME LAST_NAME ЗАПЛАТА ГРАД ОТДЕЛ MANAGERID
1001 VAIBHAVI МИШРА 65 000 ПУНА ORACLE 1
1002 VAIBHAV ШАРМА 60 000 NOIDA ORACLE 1
1003 НИХИЛ VANI 50 000 ДЖАЙПУР FMW 2
2001 PRACHI ШАРМА 55500 ЧАНДИГАР ORACLE 1
2002 BHAVESH ДЖЕЙН 65500 ПУНА FMW 2
2003 РУЧИКА ДЖЕЙН 50 000 МУМБАЙ ТЕСТВАНЕ 4
3001 PRANOTI ШЕНДЕ 55500 ПУНА JAVA 3
3002 ANUJA КЪДЕ 50500 ДЖАЙПУР FMW 2
3003 DEEPAM ДЖАУХАРИ 58500 МУМБАЙ JAVA 3
4001 РАДЖЕШ GOUD 60500 МУМБАЙ ТЕСТВАНЕ 4

Таблица 2:Мениджър.

Managerid име_на_мениджър мениджърски отдел
1 Снехдип Каур ORACLE
2 Кирти Киртане FMW
3 Абхишек Маниш JAVA
4 Анупам Мишра ТЕСТВАНЕ

Пример 1:Напишете заявка за създаване на изглед с идентификатор на служител, име, град, идентификатор на мениджър и име на мениджър от Emp Table и Manager Table.

CREATE VIEW EMP_MAN_VIEW AS SELECT EMP.EMPLOYEEID, CONCAT(EMP.FIRST_NAME, CONCAT(“ ”, EMP.LAST_NAME)) AS NAME, CITY, MANAGER.MANAGERID, MANAGER.MANAGER_NAME FROM EMP, MANAGER WHERE EMP.MANAGERID = MANAGER.MANAGERID;   

В горната заявка създадохме изглед с идентификатор на служител, име, град, идентификатор на мениджър и име на мениджър от Emp Table и Manager Table.

Винаги, когато искаме да разгледаме записите в таблицата, използваме заявката SELECT * FROM. Ще използваме името на изгледа. По същия начин ще направим за преглед вместо името на таблицата.

SELECT * FROM EMP_MAN_VIEW;

2 АКТУАЛИЗИРАНЕ НА SQL ИЗГЛЕД:-

Инструкцията за актуализиране променя съществуващата таблица и съществуващия изглед в SQL. Можем също да вмъкнем нови данни в съществуващия изглед в SQL. В SQL изгледът се променя само когато са изпълнени посочените по-долу условия. Ако едно от дадените условия не е изпълнено, няма да можем да променим изгледа.

  • DISTINCT ключова дума не трябва да се използва в израза SELECT.
  • Изгледът не трябва да има всички стойности NOT NULL.
  • Не трябва да използва клауза ORDER BY и клауза GROUP BY, докато създава изглед в израза SELECT.
  • Ако създаденият изглед съдържа колони от една таблица, тогава ни е разрешено да променяме изгледа. т.е. използването на множество таблици в изглед не е разрешено.
  • Изгледът не трябва да се създава с помощта на подзаявка или да включва сложни заявки
  • Изгледът съдържа всякакви SQL агрегатни функции; нямаме право да променяме съществуващия изглед.

Инструкцията CREATE OR REPLACE VIEW се използва за добавяне на нови полета или премахване на полета от изгледа.

Синтаксис: 

CREATE OR REPLACE VIEW VIEW_NAME AS SELECT COLUMN_NAME1, COLUMN_NAME2 FROM TABLE_NAME WHERE CONDITION;    

Пример 1:Напишете заявка за актуализиране на Employee_View и добавете колоната Идентификатор на мениджър от таблицата Emp в изгледа.

CREATE OR REPLACE VIEW EMPLOYEE_VIEW AS SELECT EMPLOYEEID, CONCAT(FIRST_NAME,CONCAT(" ", LAST_NAME)) AS NAME, SALARY, MANAGERID FROM EMP WHERE DEPARTMENT IN ('ORACLE', 'FMW');

Горната заявка променя съществуващия Employee_view и променя записите въз основа на дадената заявка SELECT.

Винаги, когато искаме да разгледаме записите в таблицата, използваме заявката SELECT * FROM. Ще използваме името на изгледа. По същия начин ще направим за преглед вместо името на таблицата.

SELECT * FROM EMPLOYEE_VIEW;

Пример 2:Напишете заявка за актуализиране на Manager_View.

CREATE OR REPLACE VIEW MANAGER_VIEW AS SELECT MANAGERID, MANAGER_NAME FROM MANAGER WHERE MANAGER_NAME LIKE ‘A%’;

Горната заявка променя съществуващия Employee_view и променя записите въз основа на дадената заявка SELECT.

Винаги, когато искаме да разгледаме записите в таблицата, използваме заявката SELECT * FROM. Ще използваме името на изгледа. По същия начин ще направим за преглед вместо името на таблицата.

SELECT * FROM MANAGER_VIEW;

Вмъкване на нов запис в съществуващия изглед

Вмъкваме новите записи в таблицата. По същия начин можем да го вмъкнем и в изглед.

Синтаксис

INSERT INTO VIEW_NAME VALUES(VALUE1, VALUE2);

Пример:напишете заявка за вмъкване на нов запис в Manager_view.

INSERT INTO MANAGER_VIEW VALUES (5, ‘Akash Kadam’);

Докато вмъкваме нови записи в Manager_View. За да проверим дали нови данни са вмъкнати или не, ще използваме заявката SELECT:

SELECT * FROM MANAGER_VIEW; 

3 ИЗГЛЕЖДАНЕ:-

Пускаме масата. По същия начин можем да пуснем изглед.

Синтаксис:

DROP VIEW VIEW_NAME;

Пример:Напишете заявка за премахване на EMP_MAN_VIEW.

DROP VIEW EMP_MAN_VIEW; 

Ако искаме да проверим дали даден изглед е изтрит или не, ще използваме заявката SHOW TABLES.

SHOW TABLES;

Името на изглед EMP_MAN_VIEW не е в базата данни, което означава, че успешно изпускаме изгледа.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Инсталиране на WordPress с помощта на WP-CLI

  2. Как да намерите дублиращи се стойности в SQL таблица

  3. Разширен SQL:Вмъкнете изхода на параметризираната функция със стойност на таблица в SQL таблица

  4. Как да използвам COUNT в SQL?

  5. SQL GROUP BY Клауза за начинаещи