Une vue est une table virtuelle.
Ce chapitre montre comment créer, mettre à jour et supprimer une vue.
SQL CREATE VIEW Déclaration
Dans SQL, une vue est une table virtuelle basée sur l'ensemble de résultats d'une instruction SQL.
Une vue contient des lignes et des colonnes, comme une vraie table. Les champs de vue sont des champs d'une ou plusieurs tables réelles dans la base de données.
Vous pouvez ajouter des fonctions SQL, WHERE et JOIN déclarations à vue et de présenter les données comme si les données provenaient d'une seule table.
SQL CREATE VIEW Syntaxe
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
Note: Une vue affiche toujours des données mises à jour! Le moteur de base de données recrée les données, en utilisant SQL de la déclaration de la vue, chaque fois qu'un utilisateur interroge une vue.
SQL CREATE VIEW Exemples
Si vous avez la base de données Northwind, vous pouvez voir qu'il a plusieurs vues installées par défaut.
La vue "Liste actuelle du produit" répertorie tous les produits actifs (produits qui ne sont pas abandonnées) de la "Products" table. La vue est créée avec l'instruction SQL suivante:
CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No
Nous pouvons interroger la vue ci-dessus comme suit:
SELECT * FROM [Current Product List]
Une autre vue dans la base de données Northwind sélectionne tous les produits dans la "Products" table avec un prix unitaire plus élevé que le prix unitaire moyen:
CREATE VIEW [Products Above Average Price] AS
SELECT ProductName,UnitPrice
FROM Products
WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products)
Nous pouvons interroger la vue ci-dessus comme suit:
SELECT * FROM [Products Above Average Price]
Une autre vue dans la base de données Northwind calcule la vente totale pour chaque catégorie en 1997. Notez que ce point de vue sélectionne ses données d'une autre vue appelée "ventes de produits pour 1997":
CREATE VIEW [Category Sales For 1997] AS
SELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySales
FROM [Product Sales for 1997]
GROUP BY CategoryName
Nous pouvons interroger la vue ci-dessus comme suit:
SELECT * FROM [Category Sales For 1997]
Nous pouvons également ajouter une condition à la requête. Maintenant , nous voulons voir la vente totale que pour la catégorie "Beverages" :
SELECT * FROM [Category Sales For 1997]
WHERE CategoryName='Beverages'
SQL Mise à jour d'une vue
Vous pouvez mettre à jour une vue en utilisant la syntaxe suivante:
SQL CREATE OR REPLACE VIEW Syntaxe
CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
Maintenant , nous voulons ajouter la "Category" colonne à la "liste des produits en cours" vue. Nous mettrons à jour la vue avec l'instruction SQL suivante:
CREATE OR REPLACE VIEW [Current Product List] AS
SELECT ProductID,ProductName,Category
FROM Products
WHERE Discontinued=No
SQL Suppression d'un View
Vous pouvez supprimer une vue avec la commande DROP VIEW.
SQL DROP VIEW Syntaxe
DROP VIEW view_name