گروه مقاله : SQL Server
تاريخ انتشار : 1394/02/02 - 11:08
كد :218
Aliaseها در SQL برای تغییر عنوان یک جدول یا ستون به صورت موقت استفاده می شوند.
Aliaseها به یک جدول از پایگاه داده یا یک ستون از جدول،یک نام موقت می دهند و اساسا به این خاطر ایجاد می شوند که اسامی ستون ها را خواناتر کنند.
فرم دستور Aliase برای ستون ها :
SELECT column_name AS alias_name
FROM table_name;
فرم دستور Aliase برای جدول ها :
SELECT column_name(s)
FROM table_name AS alias_name;
نسخه نمایشی پایگاه داده :
در این آموزش ما از نمونه ی پایگاه داده معروف Northwind استفاده خواهیم کرد.
در زیر بخشی از جدول "Customers" آورده شده است :
CustomerID |
CustomerName |
ContactName |
City |
PostalCode |
Country |
2 |
Ana Emparedados |
Ana Trujillo |
México D.F. |
05021 |
Mexico |
3 |
Antonio Taquería |
Antonio Moreno |
México D.F. |
05023 |
Mexico |
4 |
Around Horn |
Thomas Hardy |
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 |
مثال Aliase برای ستون های جدول :
در عبارت SQL زیر دو Aliase آمده است، یکی برای ستون CustomerName و یکی برای ستون ContactName .
نکته : اگر نام ستون شامل space (فاصله) باشد،علامت " " یا براکت [] الزامی است.
مثال :
SELECT CustomerName AS Customer, ContactName AS [Contact Person]
FROM Customers;
در عبارت SQL زیر ما چهار ستون (Address ، City، PostalCodeو Country ) با هم ترکیب کرده و یک Aliase بنام "Address" ایجاد می کنیم.
مثال :
SELECT CustomerName, Address+', '+City+', '+PostalCode+', '+Country AS Address
FROM Customers;
نکته : برای اینکه عبارت SQL بالا در MySQL کار کند از دستور زیر استفاده کنید :
SELECT CustomerName, CONCAT(Address,', ',City,', ',PostalCode,', ',Country) AS Address
FROM Customers;
مثال Aliase برای جداول :
عبارت SQL زیر تمام سفارشات مشتری با CustomerID=4 (Around the Horn) را انتخاب می کند،ما از جداول "Customers" و "Orders" استفاده می کنیم و به آنها Aliase های "c" و "o" می دهیم( در اینجا برای اینکه SQL را کوتاهتر کنیم از Aliase استفاده کرده ایم ):
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 مشابه بدون Aliase :
SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName="Around the Horn" AND Customers.CustomerID=Orders.CustomerID;
Aliase ها در این مواقع مفید هستند :
-
زمانیکه Query با بیش از یک جدول داشته باشیم.
-
زمانیکه توابع در Query استفاده شوند.
-
زمانیکه نام ستون ها خیلی طولانی یا نا خوانا باشد.
-
زمانیکه دو ستون و یا بیشتر باهم ترکیب شوند.