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

Visualizações SQL


Uma coisa interessante que você pode fazer com o SQL é criar uma visualização .

Uma visão é como uma tabela, exceto que ao invés de ser uma tabela real, por si só, ela é construída dinamicamente pelo resultado de uma consulta SELECT.

Vamos usar o exemplo que usamos na lição de junções:
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
);

Adicionamos alguns dados:
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 criar uma visão que chamamos de car_age que sempre contém a correlação entre um modelo de carro e a idade de seu proprietário:
CREATE VIEW car_age AS SELECT model, age AS owner_age FROM people JOIN cars ON people.name = cars.owner;

Aqui está o resultado que podemos inspecionar com SELECT * FROM car_age :
modelo
        model         | owner_age 
----------------------+-----------
 Fiesta               |        37
 Mustang              |         8

A visualização é persistente e se parecerá com uma tabela em seu banco de dados. Você pode excluir uma visualização usando DROP VIEW :
DROP VIEW car_age