Eine Ansicht ist eine virtuelle Tabelle.
Dieses Kapitel zeigt, wie zu erstellen, zu aktualisieren und eine Ansicht löschen.
SQL CREATE VIEW-Anweisung
In SQL ist eine Ansicht, eine virtuelle Tabelle basierend auf dem Ergebnis-Satz einer SQL-Anweisung.
Eine Ansicht enthält Zeilen und Spalten, wie bei einem echten Tisch. Die Felder in einer Ansicht sind Felder von einem oder mehreren realen Tabellen in der Datenbank.
Sie können SQL-Funktionen, wo und JOIN-Anweisungen zu einer Ansicht und stellen die Daten hinzufügen, wenn die Daten aus einer einzigen Tabelle kamen.
SQL CREATE VIEW-Syntax
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
Note: Ein Blick immer up-to-date Daten zeigen! Die Datenbank-Engine erstellt die Daten, mit der SQL-Anweisung der Ansicht, jedes Mal, wenn ein Benutzer eine Ansicht abfragt.
SQL CREATE VIEW-Beispiele
Wenn Sie die Northwind-Datenbank haben, können Sie sehen, dass es standardmäßig installiert mehrere Ansichten hat.
Die Ansicht "aktuelle Produktliste" listet alle aktiven Produkte (Produkte , die nicht eingestellt werden) aus der "Products" Tabelle. Die Ansicht wird mit der folgenden SQL erstellt:
CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No
Wir können die Ansicht obige Abfrage wie folgt:
SELECT * FROM [Current Product List]
Eine andere Ansicht in der Beispieldatenbank wählt jedes Produkt in der "Products" Tabelle mit einem Stückpreis höher ist als der durchschnittliche Stückpreis:
CREATE VIEW [Products Above Average Price] AS
SELECT ProductName,UnitPrice
FROM Products
WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products)
Wir können die Ansicht obige Abfrage wie folgt:
SELECT * FROM [Products Above Average Price]
Eine andere Ansicht in der Northwind-Datenbank berechnet die Gesamt Verkauf für jede Kategorie im Jahr 1997. Beachten Sie, dass diese Ansicht seine Daten aus einer anderen Sicht "Product Sales für das Jahr 1997" genannt wählt:
CREATE VIEW [Category Sales For 1997] AS
SELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySales
FROM [Product Sales for 1997]
GROUP BY CategoryName
Wir können die Ansicht obige Abfrage wie folgt:
SELECT * FROM [Category Sales For 1997]
Wir können auch eine Bedingung, um die Abfrage hinzuzufügen. Nun wollen wir den gesamten Verkauf nur für die Kategorie zu sehen , "Beverages" :
SELECT * FROM [Category Sales For 1997]
WHERE CategoryName='Beverages'
SQL Aktualisieren einer Ansicht
Sie können eine Ansicht aktualisieren, indem Sie die folgende Syntax verwenden:
SQL CREATE OR REPLACE VIEW Syntax
CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
Nun wollen wir das hinzufügen "Category" Spalte auf "Current Product List" -Ansicht. Wir werden die Ansicht mit der folgenden SQL zu aktualisieren:
CREATE OR REPLACE VIEW [Current Product List] AS
SELECT ProductID,ProductName,Category
FROM Products
WHERE Discontinued=No
SQL Löschen einer Ansicht
Sie können eine Ansicht mit dem DROP VIEW Befehl löschen.
SQL DROP VIEW Syntax
DROP VIEW view_name