ล่าสุดการพัฒนาเว็บบทเรียน
 

SQLเข้าชม


มุมมองที่เป็นตารางเสมือน

ในบทนี้จะแสดงวิธีการสร้างปรับปรุงและลบมุมมอง


SQL คำสั่ง CREATE VIEW

ใน SQL มีมุมมองที่เป็นตารางเสมือนอยู่บนพื้นฐานของผลชุดของคำสั่ง SQL

มุมมองที่มีแถวและคอลัมน์เช่นเดียวกับตารางจริง ฟิลด์ในมุมมองที่มีเขตข้อมูลจากหนึ่งหรือมากกว่าหนึ่งตารางจริงในฐานข้อมูล

คุณสามารถเพิ่มฟังก์ชั่น SQL ที่ไหนและคำสั่ง JOIN เพื่อดูและนำเสนอข้อมูลเป็นหากข้อมูลที่ได้รับมาจากโต๊ะเดียว

สร้างมุมมอง SQL ไวยากรณ์

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

Note: มุมมองที่จะแสดงข้อมูลขึ้นไปวันที่! โปรแกรมฐานข้อมูลสร้างข้อมูลโดยใช้คำสั่ง SQL มุมมองของทุกครั้งที่ผู้ใช้แบบสอบถามมุมมอง


SQL CREATE VIEW ตัวอย่าง

ถ้าคุณมีฐานข้อมูล Northwind คุณจะเห็นว่ามันมีมุมมองหลายติดตั้งโดยค่าเริ่มต้น

มุมมองรายการ "สินค้า" รายการผลิตภัณฑ์ที่ใช้งานทั้งหมด (ผลิตภัณฑ์ที่ไม่หยุด) จาก "Products" ตาราง มุมมองที่ถูกสร้างขึ้นด้วย SQL ต่อไปนี้:

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

เราสามารถสอบถามมุมมองข้างต้นดังต่อไปนี้:

SELECT * FROM [Current Product List]

มุมมองในฐานข้อมูลตัวอย่าง Northwind อีกเลือกทุกผลิตภัณฑ์ใน "Products" ตารางที่มีราคาต่อหน่วยสูงกว่าราคาเฉลี่ยต่อหน่วย:

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

เราสามารถสอบถามมุมมองข้างต้นดังต่อไปนี้:

SELECT * FROM [Products Above Average Price]

มุมมองในฐานข้อมูล Northwind อีกคำนวณยอดขายรวมสำหรับแต่ละประเภทในปี 1997 ทราบว่ามุมมองนี้เลือกข้อมูลจากอีกมุมมองหนึ่งที่เรียกว่า "การขายสินค้า 1997":

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

เราสามารถสอบถามมุมมองข้างต้นดังต่อไปนี้:

SELECT * FROM [Category Sales For 1997]

นอกจากนี้เรายังสามารถเพิ่มเงื่อนไขในแบบสอบถาม ตอนนี้เราต้องการที่จะเห็นยอดขายรวมเฉพาะสำหรับหมวดหมู่ "Beverages" :

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

SQL ดูการอัปเดต

คุณสามารถอัพเดตมุมมองโดยใช้ไวยากรณ์ต่อไปนี้:

SQL สร้างหรือ REPLACE VIEW ไวยากรณ์

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

ตอนนี้เราต้องการที่จะเพิ่ม "Category" คอลัมน์ที่ "ปัจจุบันสินค้ารายการ" มุมมอง เราจะปรับปรุงมุมมองกับ SQL ต่อไปนี้:

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

SQL หยดดู

คุณสามารถลบมุมมองที่มีคำสั่ง DROP ดู

SQL DROP VIEW ไวยากรณ์

DROP VIEW view_name