tutoriais mais recente desenvolvimento web
 

SQL Visualizações


A vista é uma tabela virtual.

Este capítulo mostra como criar, atualizar e excluir um ponto de vista.


SQL CREATE VISTA

Em SQL, a vista é uma tabela virtual com base no resultado-conjunto de uma instrução SQL.

A exibição contém linhas e colunas, assim como uma mesa real. Os campos em uma exibição são campos de uma ou mais tabelas reais no banco de dados.

Você pode adicionar funções SQL, ONDE, e JOIN declarações à vista e apresentar os dados como se os dados foram provenientes de uma única tabela.

SQL CREATE VIEW Sintaxe

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

Note: Uma visão sempre mostra dados up-to-date! O motor de banco de dados recria os dados, usando instrução SQL da vista, cada vez que um usuário consulta uma vista.


SQL CREATE Veja exemplos

Se você tem a base de dados Adamastor você pode ver que tem vários pontos de vista instalados por padrão.

A vista "Lista atual do produto" lista todos os produtos ativos (produtos que não são descontinuadas) do "Products" mesa. A exibição é criada com o seguinte SQL:

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

Podemos consultar a exibição acima da seguinte forma:

SELECT * FROM [Current Product List]

Outro ponto de vista no banco de dados de exemplo Adamastor seleciona cada produto na "Products" mesa com um preço unitário mais elevado do que o preço médio unitário:

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

Podemos consultar a exibição acima da seguinte forma:

SELECT * FROM [Products Above Average Price]

Outro ponto de vista na base de dados Adamastor calcula a venda total para cada categoria em 1997. Note-se que este ponto de vista selecciona os seus dados a partir de outro ponto de vista chamado de "venda de produtos para 1997":

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

Podemos consultar a exibição acima da seguinte forma:

SELECT * FROM [Category Sales For 1997]

Podemos também adicionar uma condição à consulta. Agora, queremos ver a venda total, apenas para a categoria "Beverages" :

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

SQL Atualizando a View

Você pode atualizar um modo de exibição usando a seguinte sintaxe:

SQL CREATE OR REPLACE VIEW Sintaxe

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

Agora queremos adicionar a "Category" coluna à vista "lista actual de produtos". Vamos atualizar a vista com o seguinte SQL:

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

SQL Soltando a View

Você pode excluir uma exibição com o comando DROP VIEW.

SQL DROP VIEW Sintaxe

DROP VIEW view_name