Chuong LX : Phần 2 SQL Advanced (bài 14)

Phần 2 SQL Advanced (bài 14)

 

SQL CREATE VIEW Statement

Một view có thể coi như là một “bảng ảo” có nội dụng được xác định từ một truy vẫn. Một truy vấn (query) chỉ là một tập hợp các chỉ dẫn (intruction) nhằm truy vẫn và hiển thị dữ liệu từ các bảng CSDL . Các truy vấn được thực hiện bằng các sử dụng câu lệnh SELECT.

Using VIEW :

Một VIEW (khung nhìn) trông giống như một bảng với một tập hợp các tên cột và các dòng dữ liệu.Tuy nhiên ,khung nhìn ko tồn tại như là một cấu trúc lưu trữ dữ liệu trong CSDL. Dữ liệu bên trong khung nhìn thực chất là dữ liệu được xác định từ một hay nhiều bảng cơ sở và do đó phụ thuộc vào các bảng cơ sở.

Các VIEW được sử dụng trong CSDL nhằm các mục đích sau :
– Sử dụng khung nhìn để tập trung trên dữ liệu xác định
– Sử dụng khung nhìn để đơn giản hoá thao tác dữ liệu
– Sử dụng khung nhìn để tuỳ biến dữ liệu
– Sử dụng khung nhìn để xuất dữ liệu
– Sử dụng khung nhìn để bảo mật dữ liệu

Cú pháp :

Trích:

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

Ví dụ sau về cách tạo 1 VIEW tên [Current Product List] với dữ liệu trong 2 cột ProductID,ProductName của table Products .

Trích:

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

Chúng ta có thể truy vấn VIEW bằng câu lệnh sau :

Trích:

SELECT * FROM [Current Product List]

Một số ví dụ khác về VIEW :

Tạo một VIEW với tên [Products Above Average Price] có chứa data của 2 cột ProductName,UnitPrice trong table Products mà giá trị UnitPrice lớn hơn số lượng trung bình trong Products .

Trích:

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

Query view trên :

Trích:

SELECT * FROM [Products Above Average Price]

Ví dụ sau view trong database tên Northwind và tính tổng số sản phẩm được bán năm 1997 :

Trích:

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

Query VIEW :

Trích:

SELECT * FROM [Category Sales For 1997]

Bạn cũng có thể thêm điều kiện và câu truy vấn .Ví dụ như ở đây là view trong CategoryName=’Beverages’ :

Trích:

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

Link của phần index giúp bạn tổng hợp những kiến thức cơ bản :
http://www.w3schools.com/sql/sql_quickref.asp

 

dondoc (vniss)

 

  1. Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: