SQL VIEW (มุมมอง)
- หน้าก่อน SQL Increment
- หน้าต่อไป SQL Date
มุมมองเป็นตารางที่แสดง
บทที่นี้มีเนื้อหาเกี่ยวกับวิธีที่จะสร้าง ปรับปรุง และลบมุมมอง
คำสั่ง SQL CREATE VIEW
อะไรคือมุมมอง?
ใน SQL มุมมองเป็นตารางที่แสดงผลของกลุ่มข้อมูลที่สร้างจาก SQL การสั่ง
มุมมองมีบรรทัดและคอลัมน์ เหมือนตารางที่แท้จริง ฟิลด์ของมุมมองคือฟิลด์จากตารางที่แท้จริงในฐานข้อมูลหนึ่งหรือหลาย สามารถเพิ่มฟังก์ชัน SQL การใช้เงื่อนไข และ JOIN ในมุมมอง และยังสามารถส่งข้อมูลเหมือนถึงข้อมูลที่มาจากตารางเดียว
หมายเหตุ:การออกแบบและโครงสร้างของฐานข้อมูลจะไม่ได้รับผลกระทบจากฟังก์ชัน การใช้เงื่อนไข หรือ การสร้างโซนของมุมมอง
SQL CREATE VIEW ศัพท์
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
หมายเหตุ:มุมมองเสมอไปแสดงข้อมูลที่ปัจจุบัน ในทุกครั้งที่ผู้ใช้ค้นหามุมมอง มอเตอร์ฐานข้อมูลจะสร้างข้อมูลใหม่ด้วย SQL การสั่ง
ตัวอย่าง SQL CREATE VIEW
เราสามารถใช้มุมมองจากภายในคำสั่งค้นหา ภายในกระบวนการจัดการข้อมูล หรือ ภายในมุมมองอื่นๆ ด้วยการเพิ่มฟังก์ชัน จอมัดแอร์ และอื่นๆ สามารถส่งมุมมองที่เราต้องการส่งมาให้ผู้ใช้งานโดยแน่นอน
ฐานข้อมูล Northwind มีมุมมองที่ถูกติดตั้งโดยค่าเรferential บางตัว มุมมอง "Current Product List" จะแสดงสินค้าที่ยังใช้อยู่ทั้งหมดในตาราง 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 โปรดสังเกตว่ามุมมองนี้จะเลือกข้อมูลจากมุมมองที่ชื่อว่า "Product Sales for 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 CREATE OR REPLACE VIEW ศัพท์ CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
ตอนนี้ เราต้องการเพิ่มคอลัมน์ "Category" ในมุมมอง "Current Product List" จาก SQL ปรับปรุงมุมมองดังนี้:
CREATE VIEW [Current Product List] AS SELECT ProductID,ProductName,Category FROM Products WHERE Discontinued=No
SQL ลบมุมมอง
คุณสามารถใช้คำสั่ง DROP VIEW มาลบมุมมอง
SQL DROP VIEW ศัพท์
DROP VIEW view_name
- หน้าก่อน SQL Increment
- หน้าต่อไป SQL Date