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