Database
 sql >> Base de Dados >  >> RDS >> Database

VISUALIZAÇÃO SQL


O conceito SQL VIEW ajuda a esconder a dificuldade dos registros e fornece limitações de acesso ao banco de dados.

A visualização SQL é semelhante às tabelas SQL. Nas Tabelas SQL, armazenamos dados inteiros em linhas e colunas. Da mesma forma, o SQL View também é usado para armazenar registros em linhas e colunas, mas apenas os dados que o usuário deseja, não dados desnecessários.

SQL VIEW é uma tabela virtual. O SQL View permite acessar apenas registros de colunas específicas em vez de todos os dados da tabela.

Podemos criar facilmente uma visualização selecionando uma ou mais tabelas usando a palavra-chave CREATE VIEW. Também podemos atualizar e excluir a visualização.

Neste artigo inteiro, vamos entender o conceito de view sobre como criar uma view, deletar uma view e atualizar uma view.

1 CRIAR VISUALIZAÇÃO SQL:-


Em SQL, podemos criar facilmente uma visualização usando a palavra-chave CREATE VIEW. Podemos criar uma View para a tabela única e a tabela múltipla.

A sintaxe para CREATE VIEW (Tabela Única)
CREATE VIEW VIEW_NAME AS SELECT COLUMN_NAME1, COLUMN_NAME2 FROM TABLE_NAME WHERE CONDITION;    

A sintaxe acima é para criar uma visualização a partir de uma única tabela. Na sintaxe acima, VIEW_NAME é o nome da visualização para criar uma visualização em SQL. Table_name é o nome da tabela de onde selecionaremos registros específicos, a cláusula WHERE é opcional na consulta SQL.

A sintaxe para 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;

A sintaxe acima é para criar uma visualização de várias tabelas. Na sintaxe acima, VIEW_NAME é o nome da visualização para criar uma visualização em SQL. T1, T2 é o nome das tabelas de onde selecionaremos registros específicos, a cláusula WHERE é opcional na consulta SQL.

Considere as tabelas a seguir junto com os registros fornecidos.

Tabela 1:Emp
EMPLOYEEID FIRST_NAME LAST_NAME SALÁRIO CIDADE DEPARTAMENTO GERENTE
1001 VAIBHAVI MISHRA 65.000 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60.000 NOIDA ORACLE 1
1003 NIQUIL VANI 50.000 JAIPUR FMW 2
2001 PRAQUI SHARMA 55500 CHANDIGARH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
2003 RUCHIKA JAIN 50.000 MUMBAI TESTE 4
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3002 ANUJA ONDE 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH GOUD 60500 MUMBAI TESTE 4

Tabela 2:Gerente.
Managerid manager_name manager_department
1 Snehdeep Kaur ORACLE
2 Kirti Kirtane FMW
3 Abhishek Manish JAVA
4 Anupam Mishra TESTE

Exemplos para CREATE VIEW de uma única tabela.


Exemplo 1:Escreva uma consulta para criar uma visão com Employee Id, First name, Last name, Salary from Emp table.
CREATE VIEW EMPLOYEE_VIEW AS SELECT EMPLOYEEID, CONCAT (FIRST_NAME, CONCAT (“ ”, LAST_NAME)) AS NAME, SALARY FROM EMP;

Na consulta acima, criamos um nome de view EMPLOYEE_VIEW com Employee Id, concatenar nome e sobrenome como Name, Salary from Emp Table.

Sempre que queremos ver os registros da tabela, usamos a consulta SELECT * FROM; da mesma forma que faremos para a view, ao invés do nome da tabela, usaremos o nome da view.
SELECT * FROM EMPLOYEE_VIEW;

Exemplo 2:Escreva uma consulta para criar uma exibição com ID do gerente, Nome do gerente e Departamento da Tabela do gerente.
CREATE VIEW MANAGER_VIEW AS SELECT MANAGERID, MANAGER_NAME, MANAGER_DEPARTMENT FROM MANAGER;

Na consulta acima, criamos um nome de visualização MANAGER_VIEW com Manager Id, Manager Name e Department from Manager Table.

Sempre que queremos ver os registros na tabela, usamos a consulta SELECT * FROM. Usaremos o nome da visualização. Da mesma forma, faremos para view em vez do nome da tabela.
SELECT * FROM MANAGER_VIEW;

Exemplo 3:Escreva uma consulta para criar uma visão com Employee Id, First name, Last name, Salary, City dos funcionários cujo salário é maior que 54000 e City incluem Pune e Mumbai da tabela 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’);

Na consulta acima, criamos um nome de exibição EMPLOYEE_VIEW1 com Employee Id, concatenamos nome e sobrenome como Name, Salary, City daqueles funcionários cujo salário é maior que 54000 e usamos o operador AND com City include Pune e Mumbai da Emp Table .

Sempre que queremos ver os registros na tabela, usamos a consulta SELECT * FROM. Usaremos o nome da visualização. Da mesma forma, faremos para view em vez do nome da tabela.
SELECT * FROM EMPLOYEE_VIEW1;

Exemplo 4:Escreva uma consulta para criar uma visualização com ID do gerente, Nome do gerente e Departamento dos gerentes cujo departamento é 'Oracle' e 'Java' da Tabela do gerente.
CREATE VIEW MANAGER_VIEW1 AS SELECT MANAGERID, MANAGER_NAME, MANAGER_DEPARTMENT FROM MANAGER; WHERE MANAGER_DEPARTMENT IN (‘ORACLE’, ‘JAVA’);

Na consulta acima, criamos um nome de visualização MANAGER_VIEW com Manager Id, Manager Name e Department dos gerentes cujo departamento é 'Oracle' e 'Java' da Manager Table.

Sempre que queremos ver os registros na tabela, usamos a consulta SELECT * FROM. Usaremos o nome da visualização. Da mesma forma, faremos para view em vez do nome da tabela.
SELECT * FROM MANAGER_VIEW1;

Todos os exemplos acima de CREATE VIEW são de tabelas únicas. O próximo exemplo de CREATE VIEW é de várias tabelas.

Considere as tabelas a seguir junto com os registros fornecidos.

Tabela 1:Emp
EMPLOYEEID FIRST_NAME LAST_NAME SALÁRIO CIDADE DEPARTAMENTO GERENTE
1001 VAIBHAVI MISHRA 65.000 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60.000 NOIDA ORACLE 1
1003 NIQUIL VANI 50.000 JAIPUR FMW 2
2001 PRAQUI SHARMA 55500 CHANDIGARH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
2003 RUCHIKA JAIN 50.000 MUMBAI TESTE 4
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3002 ANUJA ONDE 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH GOUD 60500 MUMBAI TESTE 4

Tabela 2:Gerente.
Managerid manager_name manager_department
1 Snehdeep Kaur ORACLE
2 Kirti Kirtane FMW
3 Abhishek Manish JAVA
4 Anupam Mishra TESTE

Exemplo 1:Escreva uma consulta para criar View com ID do funcionário, nome, cidade, ID do gerente e nome do gerente da tabela Emp e da tabela do gerente.
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;   

Na consulta acima, criamos uma exibição com ID do funcionário, nome, cidade, ID do gerente e nome do gerente da tabela Emp e da tabela do gerente.

Sempre que queremos ver os registros na tabela, usamos a consulta SELECT * FROM. Usaremos o nome da visualização. Da mesma forma, faremos para view em vez do nome da tabela.
SELECT * FROM EMP_MAN_VIEW;

2 ATUALIZAR VISUALIZAÇÃO SQL:-


A instrução de atualização modifica a tabela existente e a visualização existente no SQL. Também podemos inserir novos dados na visão existente no SQL. No SQL, uma visualização é modificada somente quando as condições abaixo são atendidas. Se uma das condições fornecidas não for atendida, não poderemos modificar a visualização.
  • A palavra-chave DISTINCT não deve ser usada na instrução SELECT.
  • A visualização não deve ter todos os valores NOT NULL.
  • Não deve usar a cláusula ORDER BY e a cláusula GROUP BY ao criar uma visualização na instrução SELECT.
  • Se a visualização criada contiver colunas da tabela única, podemos modificar a visualização. ou seja, o uso de várias tabelas na visualização não é permitido.
  • A visualização não deve ser criada usando uma subconsulta ou incluir consultas complexas
  • A visualização contém quaisquer funções agregadas SQL; não temos permissão para modificar a visualização existente.

A instrução CREATE OR REPLACE VIEW é usada para adicionar novos campos ou remover campos da exibição.

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

Exemplo 1:Escreva uma consulta para atualizar Employee_View e adicione a coluna Manager Id da tabela Emp na exibição.
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');

A consulta acima modifica o Employee_view existente e modifica os registros com base na consulta SELECT fornecida.

Sempre que queremos ver os registros na tabela, usamos a consulta SELECT * FROM. Usaremos o nome da visualização. Da mesma forma, faremos para view em vez do nome da tabela.
SELECT * FROM EMPLOYEE_VIEW;

Exemplo 2:Escreva uma consulta para atualizar o Manager_View.
CREATE OR REPLACE VIEW MANAGER_VIEW AS SELECT MANAGERID, MANAGER_NAME FROM MANAGER WHERE MANAGER_NAME LIKE ‘A%’;

A consulta acima modifica o Employee_view existente e modifica os registros com base na consulta SELECT fornecida.

Sempre que queremos ver os registros na tabela, usamos a consulta SELECT * FROM. Usaremos o nome da visualização. Da mesma forma, faremos para view em vez do nome da tabela.
SELECT * FROM MANAGER_VIEW;

Inserindo novo registro na visualização existente


Inserimos os novos registros na tabela. Da mesma forma, também podemos inseri-lo na visualização.

Sintaxe
INSERT INTO VIEW_NAME VALUES(VALUE1, VALUE2);

Exemplo:escreva uma consulta para inserir um novo registro no Manager_view.
INSERT INTO MANAGER_VIEW VALUES (5, ‘Akash Kadam’);

Conforme inserimos novos registros em Manager_View. Para verificar se novos dados foram inseridos ou não, usaremos a consulta SELECT:
SELECT * FROM MANAGER_VIEW; 

3 VISUALIZAÇÃO DE QUEDA:-


Abaixamos a mesa. Da mesma forma, também podemos descartar a visualização.

Sintaxe:
DROP VIEW VIEW_NAME;

Exemplo:Escreva uma consulta para eliminar o EMP_MAN_VIEW.
DROP VIEW EMP_MAN_VIEW; 

Se quisermos verificar se uma visão foi excluída ou não, usaremos a consulta SHOW TABLES.
SHOW TABLES;

O nome da visualização EMP_MAN_VIEW não está no banco de dados, o que significa que descartamos a visualização com sucesso.