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
Trang 1Phầ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:
Trang 2CREATE 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]
Trang 3Bạ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)