Database
 sql >> Base de données >  >> RDS >> Database

Vues SQL

Une chose intéressante que vous pouvez faire avec SQL est de créer une vue .

Une vue est comme une table, sauf qu'au lieu d'être une vraie table, elle est construite dynamiquement par le résultat d'une requête SELECT.

Utilisons l'exemple que nous avons utilisé dans la leçon sur les jointures :

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
);

Nous ajoutons quelques données :

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');

Nous pouvons créer une vue que nous appelons car_age qui contient toujours la corrélation entre un modèle de voiture et l'âge de son propriétaire :

CREATE VIEW car_age AS SELECT model, age AS owner_age FROM people JOIN cars ON people.name = cars.owner;

Voici le résultat que nous pouvons inspecter avec SELECT * FROM car_age :

modèle
        model         | owner_age 
----------------------+-----------
 Fiesta               |        37
 Mustang              |         8

La vue est persistante et ressemblera à une table dans votre base de données. Vous pouvez supprimer une vue en utilisant DROP VIEW :

DROP VIEW car_age