sql >> Base de Datos >  >> RDS >> Database

VISTA SQL

El concepto SQL VIEW ayuda a ocultar la dificultad de los registros y proporciona limitaciones para acceder a la base de datos.

La vista SQL es similar a las tablas SQL. En las tablas SQL, almacenamos datos completos en filas y columnas. De la misma manera, SQL View también se usa para almacenar registros en filas y columnas, pero solo aquellos datos que el usuario desea, no datos innecesarios.

SQL VIEW es una tabla virtual. SQL View permite acceder solo a registros de columnas específicas en lugar de a los datos de la tabla completa.

Podemos crear fácilmente una vista seleccionando una o más tablas usando la palabra clave CREATE VIEW. También podemos actualizar y eliminar la vista.

En todo este artículo, comprenderemos el concepto de vista sobre cómo crear una vista, eliminar una vista y actualizar una vista.

1 CREAR VISTA SQL:-

En SQL, podemos crear fácilmente una vista usando la palabra clave CREATE VIEW. Podemos crear una vista para la tabla única y la tabla múltiple.

La sintaxis para CREAR VISTA (Tabla Única)

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

La sintaxis anterior es para crear una vista desde una sola tabla. En la sintaxis anterior, VIEW_NAME es el nombre de la vista para crear una vista en SQL. Table_name es el nombre de la tabla desde donde seleccionaremos registros específicos, la cláusula WHERE es opcional en la consulta SQL.

La sintaxis 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;

La sintaxis anterior es para crear una vista a partir de varias tablas. En la sintaxis anterior, VIEW_NAME es el nombre de la vista para crear una vista en SQL. T1, T2 es el nombre de las tablas desde donde seleccionaremos registros específicos, la cláusula WHERE es opcional en la consulta SQL.

Considere las siguientes tablas junto con los registros proporcionados.

Tabla 1:Emp

ID DE EMPLEADO FIRST_NAME APELLIDO SALARIO CIUDAD DEPARTAMENTO ID DE ADMINISTRADOR
1001 VAIBHAVI MISHRA 65000 PUNE ORACULO 1
1002 VAIBHAV SHARMA 60000 NOIDA ORACULO 1
1003 NIKHIL VANI 50000 JAIPUR FMW 2
2001 PRACHI SHARMA 55500 CHANDIGARH ORACULO 1
2002 BHAVESH JAÍN 65500 PUNE FMW 2
2003 RUCHIKA JAÍN 50000 BOMBAY PRUEBA 4
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3002 ANUJA DÓNDE 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 BOMBAY JAVA 3
4001 RAJESH GOUD 60500 BOMBAY PRUEBA 4

Tabla 2:Gerente.

Administrador nombre_administrador gerente_departamento
1 Snehdeep Kaur ORACULO
2 Kirti Kirtane FMW
3 Abhishek Manish JAVA
4 Anupam Mishra PRUEBA

Ejemplos para CREAR VISTA desde una sola tabla.

Ejemplo 1:Escriba una consulta para crear una vista con Id. de empleado, Nombre, Apellido, Salario de la tabla Emp.

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

En la consulta anterior, creamos un nombre de vista EMPLOYEE_VIEW con Id. de empleado, concatenamos el nombre y el apellido como Nombre, Salario de la tabla Emp.

Siempre que queramos mirar los registros en la tabla, usamos la consulta SELECT * FROM; de la misma manera que lo haremos para la vista, en lugar del nombre de la tabla, usaremos el nombre de la vista.

SELECT * FROM EMPLOYEE_VIEW;

Ejemplo 2:escriba una consulta para crear una vista con ID de administrador, nombre de administrador y departamento de la tabla de administradores.

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

En la consulta anterior, creamos un nombre de vista MANAGER_VIEW con ID de administrador, nombre de administrador y departamento de la tabla de administradores.

Siempre que queramos mirar los registros de la tabla, usamos la consulta SELECT * FROM. Usaremos el nombre de la vista. Del mismo modo, lo haremos para la vista en lugar del nombre de la tabla.

SELECT * FROM MANAGER_VIEW;

Ejemplo 3:Escriba una consulta para crear una vista con Id. de empleado, Nombre, Apellido, Salario, Ciudad de aquellos empleados cuyo salario sea superior a 54000 y Ciudad que incluya Pune y Mumbai de la tabla 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’);

En la consulta anterior, creamos un nombre de vista EMPLOYEE_VIEW1 con Id. de empleado, concatenamos el nombre y el apellido como Nombre, Salario, Ciudad de aquellos empleados cuyo salario es superior a 54000 y usamos el operador AND con Ciudad que incluye Pune y Mumbai de Emp Table .

Siempre que queramos mirar los registros de la tabla, usamos la consulta SELECT * FROM. Usaremos el nombre de la vista. Del mismo modo, lo haremos para la vista en lugar del nombre de la tabla.

SELECT * FROM EMPLOYEE_VIEW1;

Ejemplo 4:Escriba una consulta para crear una vista con Id. de administrador, Nombre de administrador y Departamento de aquellos administradores cuyo departamento es 'Oracle' y 'Java' de la Tabla de administradores.

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

En la consulta anterior, creamos un nombre de vista MANAGER_VIEW con ID de administrador, nombre de administrador y departamento de aquellos administradores cuyo departamento es 'Oracle' y 'Java' de Manager Table.

Siempre que queramos mirar los registros de la tabla, usamos la consulta SELECT * FROM. Usaremos el nombre de la vista. Del mismo modo, lo haremos para la vista en lugar del nombre de la tabla.

SELECT * FROM MANAGER_VIEW1;

Todos los ejemplos anteriores de CREATE VIEW son de tablas individuales. El siguiente ejemplo de CREATE VIEW es de varias tablas.

Considere las siguientes tablas junto con los registros proporcionados.

Tabla 1:Emp

ID DE EMPLEADO FIRST_NAME APELLIDO SALARIO CIUDAD DEPARTAMENTO ID DE ADMINISTRADOR
1001 VAIBHAVI MISHRA 65000 PUNE ORACULO 1
1002 VAIBHAV SHARMA 60000 NOIDA ORACULO 1
1003 NIKHIL VANI 50000 JAIPUR FMW 2
2001 PRACHI SHARMA 55500 CHANDIGARH ORACULO 1
2002 BHAVESH JAÍN 65500 PUNE FMW 2
2003 RUCHIKA JAÍN 50000 BOMBAY PRUEBA 4
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3002 ANUJA DÓNDE 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 BOMBAY JAVA 3
4001 RAJESH GOUD 60500 BOMBAY PRUEBA 4

Tabla 2:Gerente.

Administrador nombre_administrador gerente_departamento
1 Snehdeep Kaur ORACULO
2 Kirti Kirtane FMW
3 Abhishek Manish JAVA
4 Anupam Mishra PRUEBA

Ejemplo 1:escriba una consulta para crear una vista con la identificación del empleado, el nombre, la ciudad, la identificación del gerente y el nombre del gerente de la tabla Emp y la tabla del 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;   

En la consulta anterior, creamos una vista con la identificación del empleado, el nombre, la ciudad, la identificación del administrador y el nombre del administrador de la tabla Emp y la tabla del administrador.

Siempre que queramos mirar los registros de la tabla, usamos la consulta SELECT * FROM. Usaremos el nombre de la vista. Del mismo modo, lo haremos para la vista en lugar del nombre de la tabla.

SELECT * FROM EMP_MAN_VIEW;

2 ACTUALIZAR VISTA SQL:-

La declaración de actualización modifica la tabla existente y la vista existente en el SQL. También podemos insertar nuevos datos en la vista existente en el SQL. En SQL, una vista se modifica solo cuando se cumplen las condiciones dadas a continuación. Si no se cumple una de las condiciones dadas, no podremos modificar la vista.

  • La palabra clave DISTINCT no debe usarse en la declaración SELECT.
  • La vista no debe tener todos los valores NOT NULL.
  • No debe usar la cláusula ORDER BY y la cláusula GROUP BY al crear una vista en la instrucción SELECT.
  • Si la vista creada contiene columnas de una sola tabla, podemos modificar la vista. es decir, no se permite el uso de varias tablas a la vista.
  • La vista no debe crearse mediante una subconsulta ni incluir consultas complejas
  • La vista contiene funciones agregadas de SQL; no podemos modificar la vista existente.

La instrucción CREATE OR REPLACE VIEW se usa para agregar nuevos campos o eliminar campos de la vista.

Sintaxis: 

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

Ejemplo 1:escriba una consulta para actualizar Employee_View y agregue la columna Id. de gerente de la tabla Emp en la 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 consulta anterior modifica la vista de empleado existente y modifica los registros en función de la consulta SELECT dada.

Siempre que queramos mirar los registros de la tabla, usamos la consulta SELECT * FROM. Usaremos el nombre de la vista. Del mismo modo, lo haremos para la vista en lugar del nombre de la tabla.

SELECT * FROM EMPLOYEE_VIEW;

Ejemplo 2:escriba una consulta para actualizar Manager_View.

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

La consulta anterior modifica la vista de empleado existente y modifica los registros en función de la consulta SELECT dada.

Siempre que queramos mirar los registros de la tabla, usamos la consulta SELECT * FROM. Usaremos el nombre de la vista. Del mismo modo, lo haremos para la vista en lugar del nombre de la tabla.

SELECT * FROM MANAGER_VIEW;

Insertar un nuevo registro en la vista existente

Insertamos los nuevos registros en la tabla. De la misma manera, también podemos insertarlo a la vista.

Sintaxis

INSERT INTO VIEW_NAME VALUES(VALUE1, VALUE2);

Ejemplo:escriba una consulta para insertar un nuevo registro en Manager_view.

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

A medida que insertamos nuevos registros en Manager_View. Para comprobar que se han insertado nuevos datos o no, utilizaremos la consulta SELECT:

SELECT * FROM MANAGER_VIEW; 

VISTA DE 3 GOTAS:-

Dejamos la mesa. De la misma manera, también podemos soltar la vista.

Sintaxis:

DROP VIEW VIEW_NAME;

Ejemplo:escriba una consulta para descartar EMP_MAN_VIEW.

DROP VIEW EMP_MAN_VIEW; 

Si queremos comprobar si una vista se elimina o no, utilizaremos la consulta SHOW TABLES.

SHOW TABLES;

El nombre de la vista EMP_MAN_VIEW no está en la base de datos, lo que significa que descartamos la vista con éxito.