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

Vistas SQL

Una cosa interesante que puede hacer con SQL es crear una vista .

Una vista es como una tabla, excepto que en lugar de ser una tabla real por sí misma, se construye dinámicamente por el resultado de una consulta SELECT.

Usemos el ejemplo que usamos en la lección de combinaciones:

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL PRIMARY KEY
);

CREATE TABLE cars (
  brand CHAR(20) NOT NULL,
  model CHAR(20) NOT NULL,
  owner CHAR(20) NOT NULL PRIMARY KEY
);

Agregamos algunos datos:

INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (8, 'Roger');
INSERT INTO cars VALUES ('Ford', 'Fiesta', 'Flavio');
INSERT INTO cars VALUES ('Ford', 'Mustang', 'Roger');

Podemos crear una vista que llamamos car_age que siempre contiene la correlación entre un modelo de coche y la edad de su propietario:

CREATE VIEW car_age AS SELECT model, age AS owner_age FROM people JOIN cars ON people.name = cars.owner;

Aquí está el resultado que podemos inspeccionar con SELECT * FROM car_age :

        model         | owner_age 
----------------------+-----------
 Fiesta               |        37
 Mustang              |         8

La vista es persistente y se verá como una tabla en su base de datos. Puede eliminar una vista usando DROP VIEW :

DROP VIEW car_age