Gli ultimi tutorial di sviluppo web
 

SQL Visualizzazioni


Un punto di vista è una tabella virtuale.

Questo capitolo mostra come creare, aggiornare ed eliminare la vista.


SQL CREATE VIEW

In SQL, una vista è una tabella virtuale sulla base del risultato-set di un'istruzione SQL.

Una vista contiene righe e colonne, proprio come un vero tavolo. I campi in vista sono i campi da una o più tabelle reali nel database.

È possibile aggiungere funzioni SQL, WHERE e JOIN dichiarazioni a vista e presentare i dati come se i dati provenivano da un unico tavolo.

SQL CREATE VIEW Sintassi

CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

Note: Un punto di vista mostra sempre i dati up-to-date! Il motore di database ricrea i dati, utilizzando SQL della vista, ogni volta che un utente interroga vista.


SQL CREATE Esempi VISTA

Se avete il database Northwind si può vedere che ha diverse viste installati di default.

Il punto di vista "Current Product List" elenca tutti i prodotti attivi (prodotti che non sono fuori produzione) dal "Products" tavolo. Il punto di vista è stato creato con il seguente SQL:

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

Siamo in grado di interrogare la vista sopra come segue:

SELECT * FROM [Current Product List]

Un'altra vista del database di esempio Northwind seleziona ogni prodotto della "Products" tavolo con un prezzo unitario superiore al prezzo medio unitario:

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

Siamo in grado di interrogare la vista sopra come segue:

SELECT * FROM [Products Above Average Price]

Un'altra vista nel database Northwind calcola la vendita totale per ciascuna categoria nel 1997. Si noti che questo punto di vista seleziona i suoi dati da un altro vista chiamata "vendita di prodotti per il 1997":

CREATE VIEW [Category Sales For 1997] AS
SELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySales
FROM [Product Sales for 1997]
GROUP BY CategoryName

Siamo in grado di interrogare la vista sopra come segue:

SELECT * FROM [Category Sales For 1997]

Possiamo anche aggiungere una condizione alla query. Ora vogliamo vedere la vendita totale solo per la categoria "Beverages" :

SELECT * FROM [Category Sales For 1997]
WHERE CategoryName='Beverages'

SQL Aggiornamento di un Visualizza

È possibile aggiornare una vista utilizzando la seguente sintassi:

SQL CREATE OR REPLACE VIEW Sintassi

CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

Ora vogliamo aggiungere la "Category" colonna alla visualizzazione "Current Product List". Provvederemo ad aggiornare la vista con il seguente SQL:

CREATE OR REPLACE VIEW [Current Product List] AS
SELECT ProductID,ProductName,Category
FROM Products
WHERE Discontinued=No

SQL Eliminazione di una vista

È possibile eliminare la vista con il comando DROP VIEW.

SQL DROP VIEW sintassi

DROP VIEW view_name