SQL -Ansichten
SQL CREATE VIEW-Anweisung
In SQL ist eine Ansicht eine virtuelle Tabelle, die auf der Ergebnismenge einer SQL-Anweisung basiert.
Eine Ansicht enthält Zeilen und Spalten, genau wie eine echte Tabelle. Die Felder in einer Ansicht sind Felder aus einer oder mehreren realen Tabellen in der Datenbank.
Sie können einer Ansicht SQL-Anweisungen und -Funktionen hinzufügen und die Daten so darstellen, als kämen sie aus einer einzigen Tabelle.
Mit der CREATE VIEW
Anweisung wird eine Ansicht erstellt.
CREATE VIEW-Syntax
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
Hinweis: Eine Ansicht zeigt immer aktuelle Daten! Die Datenbank-Engine erstellt die Ansicht jedes Mal neu, wenn ein Benutzer sie abfragt.
SQL CREATE VIEW-Beispiele
Die folgende SQL erstellt eine Ansicht, die alle Kunden aus Brasilien anzeigt:
Beispiel
CREATE VIEW [Brazil
Customers] AS
SELECT
CustomerName, ContactName
FROM Customers
WHERE
Country = 'Brazil';
Wir können die obige Ansicht wie folgt abfragen:
Beispiel
SELECT * FROM [Brazil
Customers];
Die folgende SQL erstellt eine Ansicht, die alle Produkte in der Tabelle "Produkte" auswählt, deren Preis über dem Durchschnittspreis liegt:
Beispiel
CREATE VIEW [Products Above Average Price] AS
SELECT ProductName, Price
FROM Products
WHERE Price > (SELECT AVG(Price) FROM Products);
Wir können die obige Ansicht wie folgt abfragen:
Beispiel
SELECT * FROM [Products Above Average Price];
SQL Aktualisieren einer Ansicht
Eine Ansicht kann mit der CREATE OR REPLACE
VIEW
Anweisung aktualisiert werden.
SQL CREATE OR REPLACE VIEW-Syntax
CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
Die folgende SQL fügt der Ansicht „Kunden in Brasilien“ die Spalte „Stadt“ hinzu:
Beispiel
CREATE OR REPLACE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName, City
FROM Customers
WHERE Country = 'Brazil';
SQL, das eine Ansicht löscht
Mit der DROP VIEW
Anweisung wird eine Ansicht gelöscht.
SQL DROP VIEW-Syntax
DROP VIEW view_name;
Die folgende SQL löscht die Ansicht „Brazil Customers“:
Beispiel
DROP VIEW [Brazil Customers];