Una cosa interessante che puoi fare con SQL è creare una vista .
Una vista è come una tabella, tranne per il fatto che invece di essere una tabella reale, di per sé, è costruita dinamicamente dal risultato di una query SELECT.
Usiamo l'esempio che abbiamo usato nella lezione sui join:
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
);
Aggiungiamo alcuni dati:
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');
Possiamo creare una vista che chiamiamo car_age
che contiene sempre la correlazione tra un modello di auto e l'età del suo proprietario:
CREATE VIEW car_age AS SELECT model, age AS owner_age FROM people JOIN cars ON people.name = cars.owner;
Ecco il risultato che possiamo controllare con SELECT * FROM car_age
:
model | owner_age
----------------------+-----------
Fiesta | 37
Mustang | 8
La vista è persistente e apparirà come una tabella nel database. Puoi eliminare una vista usando DROP VIEW
:
DROP VIEW car_age