Database
 sql >> Database >  >> RDS >> Database

VISTA SQL

Il concetto di SQL VIEW aiuta a nascondere la difficoltà dei record e fornisce limitazioni per l'accesso al database.

La vista SQL è simile alle tabelle SQL. Nelle tabelle SQL, memorizziamo interi dati in righe e colonne. Allo stesso modo, SQL View viene utilizzato anche per archiviare record in righe e colonne, ma solo i dati desiderati dall'utente, non i dati non necessari.

SQL VIEW è una tabella virtuale. SQL View consente di accedere solo a record di colonne specifiche anziché all'intera tabella.

Possiamo facilmente creare una vista selezionando una o più tabelle usando la parola chiave CREATE VIEW. Possiamo anche aggiornare ed eliminare la vista.

In questo intero articolo, comprenderemo il concetto di vista su come creare una vista, eliminare una vista e aggiornare una vista.

1 CREA VISUALIZZAZIONE SQL:-

In SQL, possiamo facilmente creare una vista utilizzando la parola chiave CREATE VIEW. Possiamo creare una vista per la tabella singola e la tabella dei multipli.

La sintassi per CREATE VIEW (Single Table)

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

La sintassi precedente serve per creare una vista da una singola tabella. Nella sintassi precedente, VIEW_NAME è il nome della vista per creare una vista in SQL. Nome_tabella è il nome della tabella da cui selezioneremo record specifici, la clausola WHERE è facoltativa nella query SQL.

La sintassi per CREATE VIEW (Multiple Table)

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

La sintassi precedente serve per creare una vista da più tabelle. Nella sintassi precedente, VIEW_NAME è il nome della vista per creare una vista in SQL. T1, T2 è il nome delle tabelle da cui selezioneremo record specifici, la clausola WHERE è facoltativa nella query SQL.

Considera le seguenti tabelle insieme ai record forniti.

Tabella 1:Emp

ID DIPENDENTE FIRST_NAME COGNOME STIPENDIO CITTÀ REPARTO RIDESTORE
1001 VAIBHAVI MISHRA 65000 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60000 NOIDA ORACLE 1
1003 NICHIL VANI 50000 JAIPUR FM 2
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FM 2
2003 RUCHIKA JAIN 50000 MUMBAI PROVA 4
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3002 ANUJA DOVE 50500 JAIPUR FM 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH GOUD 60500 MUMBAI PROVA 4

Tabella 2:Gestore.

ID gestore nome_gestore dipartimento_direttore
1 Snehdeep Kaur ORACLE
2 Kirti Kirtane FM
3 Abhishek Manish JAVA
4 Anupam Mishra PROVA

Esempi per CREATE VIEW da una singola tabella.

Esempio 1:scrivi una query per creare una vista con ID dipendente, Nome, Cognome, Stipendio dalla tabella Emp.

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

Nella query precedente, abbiamo creato una vista nome EMPLOYEE_VIEW con ID dipendente, concatenando nome e cognome come Nome, Stipendio da Emp Table.

Ogni volta che vogliamo guardare i record nella tabella, utilizziamo la query SELECT * FROM; nello stesso modo in cui faremo per view, invece del nome della tabella, useremo il nome della vista.

SELECT * FROM EMPLOYEE_VIEW;

Esempio 2:scrivi una query per creare una vista con ID manager, Nome manager e Reparto dalla tabella manager.

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

Nella query precedente, abbiamo creato un nome di visualizzazione MANAGER_VIEW con ID manager, Nome manager e Reparto dalla tabella manager.

Ogni volta che vogliamo esaminare i record nella tabella, utilizziamo la query SELECT * FROM. Useremo il nome della vista. Allo stesso modo, lo faremo per la visualizzazione invece del nome della tabella.

SELECT * FROM MANAGER_VIEW;

Esempio 3:scrivi una query per creare una vista con ID dipendente, Nome, Cognome, Stipendio, Città dei dipendenti il ​​cui stipendio è maggiore di 54000 e Città include Pune e Mumbai dalla tabella 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’);

Nella query precedente, abbiamo creato una vista nome EMPLOYEE_VIEW1 con ID dipendente, concatenato nome e cognome come Nome, Stipendio, Città di quei dipendenti il ​​cui stipendio è maggiore di 54000 e abbiamo utilizzato AND operatore con Città include Pune e Mumbai da Emp Table .

Ogni volta che vogliamo esaminare i record nella tabella, utilizziamo la query SELECT * FROM. Useremo il nome della vista. Allo stesso modo, lo faremo per la visualizzazione invece del nome della tabella.

SELECT * FROM EMPLOYEE_VIEW1;

Esempio 4:scrivi una query per creare una vista con ID manager, Nome manager e Reparto di quei manager il cui dipartimento è "Oracle" e "Java" da Manager Table.

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

Nella query precedente, abbiamo creato un nome di visualizzazione MANAGER_VIEW con ID manager, Nome manager e Dipartimento di quei manager il cui dipartimento è "Oracle" e "Java" da Manager Table.

Ogni volta che vogliamo esaminare i record nella tabella, utilizziamo la query SELECT * FROM. Useremo il nome della vista. Allo stesso modo, lo faremo per la visualizzazione invece del nome della tabella.

SELECT * FROM MANAGER_VIEW1;

Tutti gli esempi sopra di CREATE VIEW provengono da singole tabelle. Il prossimo esempio di CREATE VIEW è da più tabelle.

Considera le seguenti tabelle insieme ai record forniti.

Tabella 1:Emp

ID DIPENDENTE FIRST_NAME COGNOME STIPENDIO CITTÀ REPARTO RIDESTORE
1001 VAIBHAVI MISHRA 65000 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60000 NOIDA ORACLE 1
1003 NICHIL VANI 50000 JAIPUR FM 2
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FM 2
2003 RUCHIKA JAIN 50000 MUMBAI PROVA 4
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3002 ANUJA DOVE 50500 JAIPUR FM 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH GOUD 60500 MUMBAI PROVA 4

Tabella 2:Gestore.

ID gestore nome_gestore dipartimento_direttore
1 Snehdeep Kaur ORACLE
2 Kirti Kirtane FM
3 Abhishek Manish JAVA
4 Anupam Mishra PROVA

Esempio 1:scrivi una query per creare una vista con ID dipendente, nome, città, ID manager e nome manager da Emp Table e 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;   

Nella query precedente, abbiamo creato una vista con ID dipendente, Nome, Città, ID manager e Nome manager da Emp Table e Manager Table.

Ogni volta che vogliamo esaminare i record nella tabella, utilizziamo la query SELECT * FROM. Useremo il nome della vista. Allo stesso modo, lo faremo per la visualizzazione invece del nome della tabella.

SELECT * FROM EMP_MAN_VIEW;

2 AGGIORNA VISUALIZZAZIONE SQL:-

L'istruzione update modifica la tabella esistente e la vista esistente nell'SQL. Possiamo anche inserire nuovi dati nella vista esistente nell'SQL. In SQL, una vista viene modificata solo quando vengono soddisfatte le condizioni indicate di seguito. Se una delle condizioni indicate non è soddisfatta, non saremo in grado di modificare la vista.

  • La parola chiave DISTINCT non deve essere utilizzata nell'istruzione SELECT.
  • La vista non dovrebbe avere tutti i valori NOT NULL.
  • Non dovrebbe utilizzare la clausola ORDER BY e la clausola GROUP BY durante la creazione di una vista nell'istruzione SELECT.
  • Se la vista creata contiene colonne della singola tabella, siamo autorizzati a modificare la vista. ovvero non è consentito l'uso di più tabelle in vista.
  • La vista non deve essere creata utilizzando una sottoquery o includere query complesse
  • La vista contiene qualsiasi funzione di aggregazione SQL; non siamo autorizzati a modificare la vista esistente.

L'istruzione CREATE OR REPLACE VIEW viene utilizzata per aggiungere nuovi campi o eliminare campi dalla vista.

Sintassi: 

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

Esempio 1:scrivi una query per aggiornare Employee_View e aggiungi la colonna Manager Id dalla tabella Emp nella vista.

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');

La query precedente modifica la Employee_view esistente e modifica i record in base alla query SELECT specificata.

Ogni volta che vogliamo esaminare i record nella tabella, utilizziamo la query SELECT * FROM. Useremo il nome della vista. Allo stesso modo, lo faremo per la visualizzazione invece del nome della tabella.

SELECT * FROM EMPLOYEE_VIEW;

Esempio 2:scrivi una query per aggiornare Manager_View.

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

La query precedente modifica la Employee_view esistente e modifica i record in base alla query SELECT specificata.

Ogni volta che vogliamo esaminare i record nella tabella, utilizziamo la query SELECT * FROM. Useremo il nome della vista. Allo stesso modo, lo faremo per la visualizzazione invece del nome della tabella.

SELECT * FROM MANAGER_VIEW;

Inserimento di un nuovo record nella vista esistente

Inseriamo i nuovi record nella tabella. Allo stesso modo, possiamo anche inserirlo in vista.

Sintassi

INSERT INTO VIEW_NAME VALUES(VALUE1, VALUE2);

Esempio:scrivi una query per inserire un nuovo record in Manager_view.

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

Quando inseriamo nuovi record in Manager_View. Per verificare che nuovi dati siano inseriti o meno, utilizzeremo la query SELECT:

SELECT * FROM MANAGER_VIEW; 

3 VISUALIZZAZIONE A CADUTA:-

Abbandoniamo il tavolo. Allo stesso modo, possiamo anche abbandonare la visualizzazione.

Sintassi:

DROP VIEW VIEW_NAME;

Esempio:scrivi una query per eliminare EMP_MAN_VIEW.

DROP VIEW EMP_MAN_VIEW; 

Se vogliamo verificare se una vista è stata eliminata o meno, utilizzeremo la query MOSTRA TABELLE.

SHOW TABLES;

Il nome della vista EMP_MAN_VIEW non è nel database, il che significa che la vista è stata eliminata correttamente.