منشور

سلسلة دروس 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

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