SQL VIEW (vy)
- Föregående sida SQL Increment
- Nästa sida SQL Date
Vyer är visuala tabeller.
Detta kapitel förklarar hur man skapar, uppdaterar och tar bort vyer.
SQL CREATE VIEW-sats
Vad är en vy?
I SQL är en vy en visualisering av en resultatuppsättning baserad på en SQL-sats.
Vyer innehåller rader och kolumner, precis som en verklig tabell. Fälten i en vy är från en eller flera verkliga tabeller i databasen. Vi kan lägga till SQL-funktioner, WHERE och JOIN-satser till vyer och leverera data som om de kom från en enda tabell.
Kommentar:Databasens design och struktur påverkas inte av funktioner, where eller join-satser i vyer.
SQL CREATE VIEW-syntax
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
Kommentar:Vyer visar alltid de senaste data. Varje gång en användare frågar efter en vy, bygger databasmotorn om data med hjälp av SQL-satser.
SQL CREATE VIEW-exempel
Vi kan använda en vy från en fråga, en lagrad procedure, eller från en annan vy. Genom att lägga till funktioner, join och så vidare till en vy kan vi exakt leverera de data vi vill till användaren.
Northwind-mönsterdatabasen har några förinstallerade vyer. Vyn "Current Product List" visar alla produkter som används från Products-tabellen. Denna vy skapas med följande SQL:
CREATE VIEW [Current Product List] AS SELECT ProductID,ProductName FROM Products WHERE Discontinued=No
Vi kan fråga efter denna vy:
SELECT * FROM [Current Product List]
En annan vy i Northwind-mönsterdatabasen väljer alla produkter med en enhetspris över genomsnittet från Products-tabellen:
CREATE VIEW [Products Above Average Price] AS SELECT ProductName,UnitPrice FROM Products WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products)
Vi kan fråga så här om den ovanstående vyn:
SELECT * FROM [Products Above Average Price]
En annan vyexempel från Northwind-databasen räknar ut den totala försäljningen av varje sorts produkt under 1997.Observera att denna vy hämtar data från en annan vy som kallas "Product Sales for 1997":
CREATE VIEW [Category Sales For 1997] AS SELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySales FROM [Product Sales for 1997] GROUP BY CategoryName
Vi kan fråga så här om den ovanstående vyn:
SELECT * FROM [Category Sales For 1997]
Vi kan också lägga till villkor till vår fråga. Nu behöver vi bara se på försäljningen av alla produkter i kategorin "Beverages":
SELECT * FROM [Category Sales For 1997] WHERE CategoryName='Beverages'
SQL Uppdatera vy
Du kan använda följande syntax för att uppdatera vyn:
SQL CREATE OR REPLACE VIEW Syntax CREATE OR REPLACE VIEW view_name AS SELECT kolumnnamn(s) FROM tabellnamn WHERE villkor
Nu vill vi lägga till "Category"-kolumnen till vyn "Current Product List". Vi kommer att uppdatera vyn med följande SQL:
CREATE VIEW [Current Product List] AS SELECT ProductID,ProduktNamn,Kategori FROM Products WHERE Avbrutet=Nej
SQL Ångra vy
Du kan använda DROP VIEW-kommandot för att ta bort en vy.
SQL DROP VIEW Syntax
DROP VIEW view_name
- Föregående sida SQL Increment
- Nästa sida SQL Date