VIEW एक Virtual Table होती है लेकिन यह किसी Actual Table की तरह Rows और Columns को शामिल करती है.
जब एक Table Create होती है और उसमें Data को Insert किया जाता है. सभी user को इस Data को Access करने के लिए Permission की आवशयक्ता होती है.
लेकिन हर किसी को इसकी permission नही दी जाती है. जिससे Data की Security बनी रहती है और Data को फिर से भी नही लिखा जाता है जिससे Data Redundant भी नही होता है.
VIEW कोई भी Record नही रखता यह केवल Table की Definition को रखता है और Table से Data को fetch करके show करता है.
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
अगर आपके पास Northwind Database है तो आप देख सकते हैं कि Default रूप से इसमें कई Views Installed है.
VIEW को निम्नलिखित SQL Statement के साथ बनाया गया है.
CREATE VIEW [Current Product List] AS
SELECT P_ID,P_Name
FROM Products
WHERE Discontinued=No
अब हम ऊपर दिए गई Query को निम्नानुसार Follow कर सकते है.
SELECT * FROM [Current Product List]
Northwind Database मे एक और देखें Table Products में प्रत्येक Products को Select करता है जिसमें Unit Price औसत Unit Price से अधिक है.
CREATE VIEW [Products Above Average Price] AS
SELECT P_Name,UnitPrice
FROM Products
WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products)
अब हम ऊपर दिए गई query को निम्नानुसार follow कर सकते है.
SELECT * FROM [Products Above Average Price]
Northwind Database मे एक और देखें 1997 में प्रत्येक श्रेणी के लिए Total Sale की गणना करता है. यह VIEW "1997 के लिए Product Sales नामक दूसरे VIEW से अपने Data को Select करता है.
CREATE VIEW [Category Sales For 1997] AS
SELECT DISTINCT C_Name,Sum(ProductSales) AS CategorySales
FROM [Product Sales for 1997]
GROUP BY C_Name
SELECT * FROM [Category Sales For 1997]
हम Query मे एक Condition को भी जोड़ सकते है. अब हम केवल Mountain Dew Category के लिए Total Sale को देखना चाहते है.
SELECT * FROM [Category Sales For 1997]
WHERE C_Name='Mountain Dew'
VIEW को Update करने के लिए निम्न Syntax का प्रयोग किया जाता है.
CREATE OR REPLACE VIEW view_name AS
SELECT columns
FROM table
WHERE conditions;
VIEW को Drop करने के लिए निम्न Syntax का प्रयोग किया जाता है.
DROP VIEW view_name;