SQL Aliases - الأسماء المستعارة في SQL

SQL Aliases - الأسماء المستعارة في SQL

SQL Aliases - الأسماء المستعارة في SQL

الأسماء المستعارة (Aliases) تُستخدم في SQL لإعطاء جدول أو عمود اسم مؤقت أثناء تنفيذ الاستعلام. الهدف منها هو جعل أسماء الأعمدة أو الجداول أكثر وضوحًا وأسهل في القراءة. الاسم المستعار يختفي بمجرد انتهاء تنفيذ الاستعلام.

إنشاء Alias باستخدام AS

يتم إنشاء الاسم المستعار باستخدام الكلمة المفتاحية AS، وهي الطريقة الأكثر وضوحًا:

SELECT CustomerID AS ID
FROM Customers;
  

AS اختياري

في معظم أنظمة قواعد البيانات يمكن تجاهل الكلمة AS والحصول على نفس النتيجة:

SELECT CustomerID ID
FROM Customers;
  

الصياغة (Syntax)

عند استخدام Alias مع الأعمدة:

SELECT column_name AS alias_name
FROM table_name;
  

عند استخدام Alias مع الجداول:

SELECT column_name(s)
FROM table_name AS alias_name;
  

قاعدة البيانات التجريبية

جدول Customers

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico

جدول Orders

OrderIDCustomerIDEmployeeIDOrderDateShipperID
102489051996-07-043
102498161996-07-051
102503441996-07-082

استخدام Alias مع الأعمدة

SELECT CustomerID AS ID, CustomerName AS Customer
FROM Customers;
  

استخدام Alias يحتوي على مسافة

إذا أردت أن يحتوي الاسم المستعار على مسافة يجب أن تضعه بين أقواس مربعة أو علامات اقتباس مزدوجة.

باستخدام الأقواس المربعة:

SELECT ProductName AS [My Great Products]
FROM Products;
  

باستخدام علامات الاقتباس المزدوجة:

SELECT ProductName AS "My Great Products"
FROM Products;
  

دمج الأعمدة (Concatenate Columns)

SQL Server

SELECT CustomerName, Address + ', ' + PostalCode + ' ' + City + ', ' + Country AS Address
FROM Customers;
  

MySQL

SELECT CustomerName, CONCAT(Address, ', ', PostalCode, ', ', City, ', ', Country) AS Address
FROM Customers;
  

Oracle

SELECT CustomerName, (Address || ', ' || PostalCode || ' ' || City || ', ' || Country) AS Address
FROM Customers;
  

استخدام Alias مع الجداول

SELECT * FROM Customers AS Persons;
  

يصبح استخدام Alias مهمًا عند وجود أكثر من جدول:

مع الأسماء المستعارة:

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;
  

بدون الأسماء المستعارة:

SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName='Around the Horn' AND Customers.CustomerID=Orders.CustomerID;
  

متى نستخدم الأسماء المستعارة؟

  • عند وجود أكثر من جدول في الاستعلام.
  • عند استخدام دوال داخل الاستعلام.
  • عندما تكون أسماء الأعمدة طويلة أو غير واضحة.
  • عند دمج أكثر من عمود في عمود واحد.

تمرين

أي من الجمل التالية تنشئ Alias للعمود CustomerID باسم ID؟

  1. SELECT CustomerID = 'ID' FROM Customers;
  2. SELECT CustomerID AS ID FROM Customers;
  3. SELECT CustomerID TO ID FROM Customers;
  4. SELECT CustomerID 'ID' FROM Customers;

تعليقات