VIEW (نمای) SQL
- صفحه قبل افزایش SQL
- صفحه بعدی تاریخ SQL
نمونهها جداول ویدئایی هستند.
این فصل به توضیح نحوه ایجاد، بهروزرسانی و حذف نمونهها میپردازد.
دستور SQL CREATE VIEW
چه نمونهای است؟
در SQL، نمونهها جدولهای ویدئایی بر اساس نتایج دستورات SQL هستند.
نمونهها شامل ردیفها و ستونها هستند، مانند یک جدول واقعی. فیلدهای نمونهها از یک یا چند جدول واقعی در پایگاه داده میآیند. ما میتوانیم توابع SQL، WHERE و JOIN به نمونهها اضافه کنیم و همچنین دادهها را ارائه دهیم، مانند اینکه اینها از یک جدول واحد آمدهاند.
نکته:طراحی و ساختار پایگاه داده تحت تأثیر توابع، where یا دستورات join در نمونهها قرار نمیگیرد.
قوانین SQL CREATE VIEW
CREATE VIEW نام_نمای AS SELECT column_name(s) FROM table_name WHERE condition
نکته:نمونهها همیشه دادههای جدیدترین را نمایش میدهند. هر بار که کاربر به نمونهها جستجو میکند، موتور پایگاه داده از طریق استفاده از دستورات SQL دادهها را بازسازی میکند.
مثال SQL CREATE VIEW
ما میتوانیم از یک نمونه داخلی، یک پروسه ذخیره شده، یا یک نمونه دیگر برای استفاده از نمونهها استفاده کنیم. با اضافه کردن توابع، join و غیره به نمونهها، میتوانیم دادههایی که میخواهیم ارائه دهیم را به کاربران دقیقتر ارائه دهیم.
پایگاه داده نمونه Northwind دارای برخی از نمونههای پیشفرض نصب شده است. نمونه "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
شما میتوانید از جملات زیر برای بهروزرسانی نمای استفاده کنید:
جملات Syntax SQL CREATE OR REPLACE VIEW CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
حالا، ما میخواهیم به نمای "Current Product List" ستون "Category" را اضافه کنیم. ما از SQL زیر برای بهروزرسانی نمای استفاده میکنیم:
CREATE VIEW [Current Product List] AS SELECT ProductID,ProductName,Category FROM Products WHERE Discontinued=No
حذف نمای SQL
شما میتوانید از دستور DROP VIEW برای حذف نمای استفاده کنید.
جملات DROP VIEW SQL
DROP VIEW نام_نمای
- صفحه قبل افزایش SQL
- صفحه بعدی تاریخ SQL