Zajímavou věcí, kterou můžete s SQL udělat, je vytvořit pohled .
Pohled je jako tabulka, ale místo toho, aby to byla skutečná tabulka, je sama o sobě dynamicky sestavována na základě výsledku SELECT dotazu.
Použijme příklad, který jsme použili v lekci spojení:
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
);
Přidáváme některá data:
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');
Můžeme vytvořit pohled, který nazýváme car_age
který vždy obsahuje korelaci mezi modelem auta a věkem jeho majitele:
CREATE VIEW car_age AS SELECT model, age AS owner_age FROM people JOIN cars ON people.name = cars.owner;
Zde je výsledek, který můžeme zkontrolovat pomocí SELECT * FROM car_age
:
model | owner_age
----------------------+-----------
Fiesta | 37
Mustang | 8
Zobrazení je trvalé a bude vypadat jako tabulka ve vaší databázi. Pohled můžete smazat pomocí DROP VIEW
:
DROP VIEW car_age