SQL VIEW (Ansicht)

Ansichten sind visuelle Tabellen.

Dieses Kapitel erläutert, wie Ansichten erstellt, aktualisiert und gelöscht werden.

SQL CREATE VIEW Anweisung

Was ist eine Ansicht?

In SQL ist eine Ansicht eine visuelle Tabelle, die auf dem Ergebnissatz eines SQL-Statements basiert.

Ansichten enthalten Zeilen und Spalten, wie eine reale Tabelle. Die Felder in einer Ansicht sind Felder aus einer oder mehreren tatsächlichen Tabellen in der Datenbank. Wir können SQL-Funktionen, WHERE und JOIN-Statements zu Ansichten hinzufügen und Daten wie aus einer einzigen Tabelle übermitteln.

Anmerkung:Die Gestaltung und Struktur der Datenbank werden nicht durch Funktionen, WHERE oder JOIN-Statements in Ansichten beeinflusst.

SQL CREATE VIEW Syntax

CREATE VIEW view_name ALS
SELECT Spaltenname(n)
FROM Tabellenname
WHERE Bedingung

Anmerkung:Ansichten zeigen immer die neuesten Daten. Jedes Mal, wenn ein Benutzer eine Ansicht abruft, reconstructiert der Datenbank-Engine die Daten mithilfe eines SQL-Statements.

Beispiel für SQL CREATE VIEW

Ansichten können aus einer Abfrage, einem gespeicherten Prozedur oder aus einer anderen Ansicht verwendet werden. Durch Hinzufügen von Funktionen, JOINs usw. an Ansichten können wir den Benutzern präzise die gewünschten Daten übermitteln.

Die Northwind-Sample-Datenbank enthält einige Standardansichten. Die Ansicht "Current Product List" listet alle Produkte auf, die derzeit in Verwendung sind. Diese Ansicht wurde mit folgendem SQL erstellt:

CREATE VIEW [Current Product List] ALS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No

Wir können diese Ansicht abfragen:

SELECT * FROM [Current Product List]

Eine weitere Ansicht der Northwind-Sample-Datenbank wählt alle Produkte aus der Tabelle Products aus, deren Einheitenpreis über dem Durchschnitt liegt:

CREATE VIEW [Products Above Average Price] ALS
SELECT ProductName,UnitPrice
FROM Products
WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products) 

Wir können den obigen View so abfragen:

SELECT * FROM [Products Above Average Price]

Ein weiteres Beispiel für eine Ansicht aus der Northwind-Datenbank berechnet die Gesamtverkäufe jeder Kategorie im Jahr 1997. Beachten Sie, dass diese Ansicht Daten von einer anderen Ansicht namens "Product Sales for 1997" abruft:

CREATE VIEW [Kategorieverkäufe für 1997] ALS
SELECT DISTINCT CategoryName,Summe(ProductSales) ALS CategorySales
FROM [Produktverkäufe für 1997]
GRUPPIERUNG NACH CategoryName 

Wir können den obigen View so abfragen:

SELECT * FROM [Kategorieverkäufe für 1997]

Wir können auch Bedingungen der Abfrage hinzufügen. Jetzt müssen wir nur die gesamten Verkäufe der "Getränke"-Kategorie anzeigen:

SELECT * FROM [Kategorieverkäufe für 1997]
WHERE CategoryName='Getränke'

SQL Ansicht aktualisieren

Sie können die folgende Syntax verwenden, um die Ansicht zu aktualisieren:

SQL CREATE OR REPLACE VIEW Syntax
CREATE OR REPLACE VIEW view_name AS
SELECT Spaltenname(n)
FROM Tabellenname
WHERE Bedingung

Jetzt möchten wir der "Aktuelle Produktliste"-Ansicht die Spalte "Kategorie" hinzufügen. Wir aktualisieren die Ansicht mit dem folgenden SQL:

CREATE VIEW [Aktuelle Produktliste] AS
SELECT ProductID,ProductName,Kategorie
FROM Produkte
WHERE Discontinued=Nein

SQL Ansicht zurücknehmen

Sie können den Befehl DROP VIEW verwenden, um eine Ansicht zu löschen.

SQL DROP VIEW Syntax

DROP VIEW view_name