SQL VIEW (visning)
- Forrige side SQL Increment
- Næste side SQL Date
Viser er visuelle tabeller.
Dette kapitel forklarer, hvordan man opretter, opdaterer og sletter viser.
SQL CREATE VIEW sætning
Hvad er en vis?
I SQL er en vis en visualisering af en resultatsætning baseret på en SQL-sætning.
Viser indeholder rækker og kolonner, ligesom en rigtig tabel. Felterne i en vis er felter fra en eller flere rigtige tabeller i databasen. Vi kan tilføje SQL-funktioner, WHERE og JOIN-sætninger til viser og kan levere data, som om de kom fra en enkelt tabel.
Kommentar:Designet og strukturen af databasen påvirkes ikke af funktioner, where eller join-sætninger i viser.
SQL CREATE VIEW syntaks
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
Kommentar:Viser viser altid de nyeste data. Hver gang en bruger forespørger en vis, genbygger databasemotoren data ved hjælp af SQL-sætninger.
SQL CREATE VIEW eksempel
Viser kan bruges fra en forespørgsel, en lagret procedure eller fra en anden vis. Ved at tilføje funktioner, join osv. til viser kan vi præcis levere de data, vi ønsker at levere til brugeren.
Northwind-sampeldatabasen har nogle standardinstallerede viser. Visen "Current Product List" viser alle produkter, der bruges i Products-tabellen. Denne vis er oprettet med følgende SQL:
CREATE VIEW [Current Product List] AS SELECT ProductID,ProductName FROM Products WHERE Discontinued=No
Vi kan søge i denne vis:
SELECT * FROM [Current Product List]
En anden vis i Northwind-sampeldatabasen vælger alle produkter med enhedspriser over gennemsnitsprisen i Products-tabellen:
CREATE VIEW [Products Above Average Price] AS SELECT ProductName,UnitPrice FROM Products WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products)
Vi kan forespørge som følger på den ovennævnte visning:
SELECT * FROM [Products Above Average Price]
En anden vis instans fra Northwind-databasen beregner salgstotalen for hver type i 1997. Bemærk, denne vis vil hente data fra en anden vis, som hedder "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 forespørge som følger på den ovennævnte visning:
SELECT * FROM [Category Sales For 1997]
Vi kan også tilføje betingelser til forespørgslen. Nu skal vi kun se på salget af "Beverages" kategoriens produkter:
SELECT * FROM [Category Sales For 1997] WHERE CategoryName='Beverages'
SQL Opdater visning
Du kan opdatere visningen med følgende syntaks:
SQL CREATE OR REPLACE VIEW syntaks CREATE OR REPLACE VIEW view_name AS SELECT kolonnenavn(e) FROM tabelnavn WHERE betingelse
Nu ønsker vi at tilføje "Category" kolonnen til "Current Product List" visningen. Vi opdaterer visningen med følgende SQL:
CREATE VIEW [Current Product List] AS SELECT ProductID, ProduktNavn, Kategori FROM Products WHERE Afbrudt=Nej
SQL Tilbagekald visning
Du kan bruge DROP VIEW kommandoen til at slette en visning.
SQL DROP VIEW syntaks
DROP VIEW view_name
- Forrige side SQL Increment
- Næste side SQL Date