Ciekawą rzeczą, którą możesz zrobić z SQL, jest utworzenie widoku .
Widok jest jak tabela, z tą różnicą, że sam w sobie nie jest prawdziwą tabelą, ale jest tworzony dynamicznie na podstawie wyniku zapytania SELECT.
Użyjmy przykładu, którego użyliśmy w lekcji sprzężenia:
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
);
Dodajemy trochę danych:
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');
Możemy stworzyć widok, który nazywamy car_age
która zawsze zawiera korelację między modelem samochodu a wiekiem jego właściciela:
CREATE VIEW car_age AS SELECT model, age AS owner_age FROM people JOIN cars ON people.name = cars.owner;
Oto wynik, który możemy sprawdzić za pomocą SELECT * FROM car_age
:
model | owner_age
----------------------+-----------
Fiesta | 37
Mustang | 8
Widok jest trwały i będzie wyglądał jak tabela w Twojej bazie danych. Możesz usunąć widok za pomocą DROP VIEW
:
DROP VIEW car_age