سلسلة دروس SQL| الأسماء المستعارة
هذه المقالة جزء من سلسلة دروس SQL، يمكنك الاطلاع على الفهرس
- الأسماء المستعارة في SQL
- استعراض قاعدة بيانات
- أمثلة على الأسماء المستعارة مع الأعمدة
- أمثلة على الأسماء المستعارة مع الجداول
الأسماء المستعارة في SQL
تٌستخدم الأسماء المستعارة (بالإنجليزية Alias) في SQL لإعطاء جدول أو عمود في جدول اسمًا مؤقتًا.
وتُستخدم عادة لجعل أسماء الأعمدة أكثر قابلية للقراءة.
يكون الاسم المستعار صالح فقط خلال فترة تنفيذ الأمر أو الاستعلام QUERY
بناء العبارة مع تغيير اسم العمود
1
2
SELECT column_name AS alias_name
FROM table_name;
بناء العبارة مع تغيير اسم الجدول
1
2
SELECT column_name(s)
FROM table_name AS alias_name;
استعراض قاعدة بيانات
في الأسفل تحديد من جدول الزبائن Customers في قاعدة البيانات النموذجية Northwind
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
وتحديد من جدول الطلبات Orders:
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10354 | 58 | 8 | 1996-11-14 | 3 |
10355 | 4 | 6 | 1996-11-15 | 1 |
10356 | 86 | 6 | 1996-11-18 | 2 |
أمثلة على الأسماء المستعارة مع الأعمدة
تُنشئ عبارة SQL التالية اسمين مستعارين، أحدهم لعمود CustomerID والآخر لعمود CustomerName
1
2
SELECT CustomerID AS ID, CustomerName AS Customer
FROM Customers;
وتُنشئ عبارة SQL التالية اسمين مستعارين احدهم لعمود CustomerName والآخر لعمود ContactName.
ملاحظة: إذا كان الاسم المستعار يحوي على فراغ فيجب تضمينه بين علامتي تنصيص مزدوجة “ “ أو أقواس مربعة [ ]
1
2
SELECT CustomerName AS Customer, ContactName AS [Contact Person]
FROM Customers;
وتُنشئ عبارة SQL التالية الاسم المستعار Address والذي يجمع أربعة أعمدة (Address, PostalCode, City وCountry)
1
2
SELECT CustomerName, Address + ', ' + PostalCode + ' ' + City + ', ' + Country AS Address
FROM Customers;
ملاحظة: لتنفيذ العبارة أعلاه في MySQL اكتب التالي:
1
2
SELECT CustomerName, CONCAT(Address,', ',PostalCode,', ',City,', ',Country) AS Address
FROM Customers;
أمثلة على الأسماء المستعارة مع الجداول
تُحدِّد عبارة SQL التالية كل الطلبات orders من جدول الزبائن بحيث الـ CustomerID يساوي 4. نستخدم هنا جداول الزبائن Customers والطلبات Orders ونعطيهم أسماء مستعارة c و o على التوالي (وهنا نستخدم الأسماء المستعارة لجعل عبارة SQL أقصر):
1
2
3
SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerName="Around the Horn" AND c.CustomerID=o.CustomerID;
عبارة SQL التالية نفس العبارة أعلاه لكن بدون أسماء مستعارة:
1
2
3
SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName="Around the Horn" AND Customers.CustomerID=Orders.CustomerID;
وبالتالي يمكن للأسماء المستعارة أن تكون مفيدة في هذه الحالات:
- يوجد أكثر من جدول مُضمن في عبارة SQL
- الدالات مستخدمة في العبارة
- أسماء الأعمدة طويلة أو غير قابلة للقراءة تماما
- عند جمع عمودين أو أكثر مع بعض
التالي: عبارة JOIN