نماها (Views)
«نما (View)» یک جدول مجازی است. یعنی نتیجه یک کوئری مثل یک جدول دیده می شود. ستون ها و سطرها واقعی نیستند؛ اما داده ها همیشه به روز برمی گردند.
ایجاد نما با CREATE VIEW
با دستور CREATE VIEW می توانیم نتیجه یک SELECT را مثل جدول ببینیم.
CREATE VIEW view_name AS
SELECT column1, column2
FROM table_name
WHERE condition;
نکته: نما همیشه داده به روز نشان می دهد؛ هر بار پرس وجو، دوباره ساخته می شود.
نمونه های CREATE VIEW
نمای مشتریان کشور برزیل:
CREATE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName
FROM Customers
WHERE Country = 'Brazil';
کوئری گرفتن از نما:
SELECT *
FROM [Brazil Customers];
نمای محصولات با قیمت بالاتر از میانگین:
CREATE VIEW [Products Above Average Price] AS
SELECT ProductName, Price
FROM Products
WHERE Price > (SELECT AVG(Price) FROM Products);
کوئری گرفتن از این نما:
SELECT *
FROM [Products Above Average Price];
به روزرسانی نما با CREATE OR REPLACE VIEW
می خواهیم ستون شهر را به نمای «Brazil Customers» اضافه کنیم.
CREATE OR REPLACE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName, City
FROM Customers
WHERE Country = 'Brazil';
حذف نما با DROP VIEW
حذف یک نما بسیار ساده است.
DROP VIEW view_name;
مثال حذف نمای «Brazil Customers»:
DROP VIEW [Brazil Customers];
جمع بندی سریع
- نما جدولِ مجازی از یک SELECT است.
- داده نما همیشه به روز است.
- با CREATE VIEW نما بساز؛ با DROP VIEW حذف کن.
- برای تغییر، از CREATE OR REPLACE VIEW استفاده کن.
مطالب مرتبط: تاریخ ها (Dates) برای فیلترهای زمانی. همچنین نما در MySQL به عنوان مرجع همین بخش.