منشور

سلسلة دروس SQL| VIEWS

هذه المقالة جزء من سلسلة دروس SQL، يمكنك الاطلاع على الفهرس

عبارة CREATE VIEW في SQL

الـ view أو العرض في SQL هو عبارة عن جدول افتراضي يكون نتيجة تنفيذ عبارة معينة لـ SQL.

تكون الحقول في جدول العرض مأخوذة من جدول أو أكثر في قاعدة البيانات. حيث يمكن دمج أكثر من جدول في جدول واحد.

يمكن إنشاء جدول عرض (أو view) عبر التعليمة CREATE VIEW

بناء جملة CREATE VIEW

1
2
3
4
5
6
7
8
9
		CREATE VIEW view_name AS

		SELECT column1, column2, ...

		FROM table_name

		WHERE condition; 

أمثلة عن CREATE VIEW في SQL

تنشئ تعليمة SQL التالية عرض لكافة العملاء من البرازيل:

مثال

1
2
3
4
5
6
7
8
9
		CREATE VIEW [Brazil Customers] AS

		SELECT CustomerName, ContactName

		FROM Customers

		WHERE Country = 'Brazil'; 

يمكننا الاستعلام عن العرض أعلاه على النحو التالي:

مثال

1
2
3
4
		SELECT * FROM [Brazil Customers]; 


علمًا أن البيانات المُرجعة سيتم تحديثها في كل مرة ننفذ التعليمة أعلاه، وذلك بناء على البيانات الموجودة في قاعدة البيانات.

كما تنشئ تعليمة SQL التالية عرض تحدد كل منتج في جدول “المنتجات” بسعر أعلى من متوسط السعر:

مثال

1
2
3
4
5
6
7
8
9
		CREATE VIEW [Products Above Average Price] AS

		SELECT ProductName, Price

		FROM Products

		WHERE Price > (SELECT AVG(Price) FROM Products); 

يمكننا الاستعلام عن العرض أعلاه على النحو التالي:

مثال

1
2
3
SELECT * FROM [Products Above Average Price];

تحديث طريقة العرض في SQL

يمكن تحديث طريقة عرض ما باستخدام الأمر CREATE OR REPLACE VIEW.

بناء جملة CREATE OR REPLACE VIEW في SQL

1
2
3
4
5
6
7
8
9
		CREATE OR REPLACE VIEW view_name AS

		SELECT column1, column2, ...

		FROM table_name

		WHERE condition; 

تضيف تعليمة SQL التالية عمود “المدينة” إلى عرض “عملاء البرازيل”:

مثال

1
2
3
4
5
6
7
8
9
		CREATE OR REPLACE VIEW [Brazil Customers] AS

		SELECT CustomerName, ContactName, City

		FROM Customers

		WHERE Country = 'Brazil'; 

حذف العرض في SQL

يتم حذف طريقة العرض باستخدام الأمر DROP VIEW.

بناء جملة DROP VIEW في SQL

1
2
3
DROP VIEW view_name;

تحذف تعليمة SQL التالية العرض الذي يُظهر “عملاء البرازيل”:

مثال

1
2
3
DROP VIEW [Brazil Customers];

التالي: Injection

هذا المنشور تحت ترخيص CC BY 4.0 بواسطة المؤلف.