SQL Aliases – SQL Хоч #
SQL aliases are used to give a table, or a column in a table, a temporary name.
SQL хочыг хүснэгт эсвэл хүснэгт дэх баганад түр нэр өгөхөд ашигладаг.
Aliases are often used to make column names more readable.
Хочийг ихэвчлэн баганын нэрийг илүү уншигдахуйц болгоход ашигладаг.
An alias only exists for the duration of that query.
Хоч нь зөвхөн тухайн хүсэлтийн хугацаанд л байна.
An alias is created with the AS
keyword.
Хочийг AS
түлхүүр үгээр үүсгэдэг.
Example – Жишээ #
SELECT CustomerID AS ID
FROM Customers;
AS is Optional – AS Сонголттой #
Actually, in most database languages, you can skip the AS keyword and get the same result:
Үнэндээ, ихэнх мэдээллийн сангийн хэлнүүдэд AS түлхүүр үгийг орхиж ижил үр дүнг авах боломжтой:
Example – Жишээ #
SELECT CustomerID ID
FROM Customers;
Syntax – Дүрэм #
When alias is used on column:
Хэрэв хочийг баганад ашиглах бол:
SELECT column_name AS alias_name
FROM table_name;
SELECT багана_нэр AS хоч_нэр
FROM хүснэгт_нэр;
When alias is used on table:
Хэрэв хочийг хүснэгтэд ашиглах бол:
SELECT column_name(s)
FROM table_name AS alias_name;
SELECT багана_нэр(нүүд)
FROM хүснэгт_нэр AS хоч_нэр;
Demo Database – Жишээ мэдээллийн сан #
Below is a selection from the Customers and Orders tables used in the examples:
Доорх Харилцагчид болон Захиалгууд хүснэгтүүдийг шижээ болгож ашиглав:
Customers – Харилцагчид #
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
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 |
Orders – Захиалгууд #
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10248 | 90 | 5 | 7/4/1996 | 3 |
10249 | 81 | 6 | 7/5/1996 | 1 |
10250 | 34 | 4 | 7/8/1996 | 2 |
Alias for Columns – Баганад Хоч ашиглах #
The following SQL statement creates two aliases, one for the CustomerID column and one for the CustomerName column:
Доорх SQL жишээнд 2 баганад хоч өгнө, ХарилцагчID баганд нэг хоч, ХарилцагчНэр баганд нэг хоч үүсгэнэ:
Example – Жишээ #
SELECT CustomerID AS ID, CustomerName AS Customer
FROM Customers;
Using Aliases With a Space Character – Зайтай тэмдэгтээр хоч өгөх #
If you want your alias to contain one or more spaces, like “My Great Products
“, surround your alias with square brackets or double quotes.
Хэрэв та хочиндоо нэг эсвэл хэд хэдэн зай тэмдэгт оруулахыг хүсвэл “Миний Сайхан Бүтээгдэхүүнүүд” гэх мэт, хочиндоо дөрвөлжин хаалт эсвэл давхар хаалтуудад хийнэ.
Example – Жишээ #
Using [square brackets] for aliases with space characters:
Зай тэмдэгттэй хочиндоо [дөрвөлжин хаалт] ашиглах:
SELECT ProductName AS [My Great Products]
FROM Products;
Example – Жишээ #
Using “double quotes” for aliases with space characters:
Зай тэмдэгттэй хочиндоо “давхар хаалт” ашиглах:
SELECT ProductName AS “My Great Products”
FROM Products;
Note: Some database systems allows both [] and “”, and some only allows one of them.
Тэмдэглэл: Зарим мэдээллийн сангийн системүүд хоёуланг нь ([ ] болон “”) зөвшөөрдөг, зарим нь зөвхөн нэгийг нь зөвшөөрдөг.
Concatenate Columns – Багануудаа нэгтгэх #
The following SQL statement creates an alias named “Address” that combine four columns (Address, PostalCode, City and Country):
Доорх SQL жишээнд Хаяг, ПорталКод, Хот болон Улс багануудыг нэгтгэж “Хаяг” гэж нэрлэнэ:
Example – Жишээ #
SELECT CustomerName, Address + ‘, ‘ + PostalCode + ‘ ‘ + City + ‘, ‘ + Country AS Address
FROM Customers;
Note: To get the SQL statement above to work in MySQL use the following:
Тэмдэглэл: Дээрх SQL жишээг MySQL-д хэрэглэхийн тулд доорхыг ашиглана уу:
MySQL Example – MySQL Жишээ #
SELECT CustomerName, CONCAT(Address,‘, ‘,PostalCode,‘, ‘,City,‘, ‘,Country) AS Address
FROM Customers;
Note: To get the SQL statement above to work in Oracle use the following:
Тэмдэглэл: Дээрх SQL жишээг Oracle-д хэрэглэхийн тулд доорхыг ашиглана уу:
Oracle Example #
SELECT CustomerName, (Address || ‘, ‘ || PostalCode || ‘ ‘ || City || ‘, ‘ || Country) AS Address
FROM Customers;
Alias for Tables – Хүснэгтүүдын хувьд хоч #
The same rules applies when you want to use an alias for a table.
Хүснэгтэд хоч ашиглах үед ижил дүрмийг дагана.
Example – Жишээ #
Refer to the Customers table as Persons instead:
Харилцагчид хүснэгтийг Хүмүүс гэж нэрлэнэ:
SELECT * FROM Customers AS Persons;
It might seem useless to use aliases on tables, but when you are using more than one table in your queries, it can make the SQL statements shorter.
Хүснэгтүүдэд хоч ашиглах нь хэрэггүй мэт санагдаж болох ч, олон хүснэгт ашиглаж байгаа үед SQL өгүүлбэрүүдийг богиносгоно.
The following SQL statement selects all the orders from the customer with CustomerID=4 (Around the Horn). We use the “Customers” and “Orders” tables, and give them the table aliases of “c” and “o” respectively (Here we use aliases to make the SQL shorter):
Доорх SQL жишээнд CustomerID=4 (Around the Horn) харилцагчийн бүх захиалгыг сонгоно. Бид “Customers” болон “Orders” хүснэгтүүдийг ашиглаж, тэдэнд “c” болон “o” гэсэн хүснэгтийн хоч өгнө (энд бид SQL-ийг богино болгохын тулд хоч ашиглаж байна):
Example #
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;
The following SQL statement is the same as above, but without aliases:
Доорх SQL жишээ нь дээрхтэй ижил, гэхдээ хочгүйгээр:
Example – Жишээ #
SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName=‘Around the Horn’ AND Customers.CustomerID=Orders.CustomerID;
Aliases can be useful when:
Хоч хэрэгтэй болох үеүд:
- There are more than one table involved in a query
Хүсэлтэд нэгээс олон хүснэгт оролцоход
- Functions are used in the query
Хүсэлтэд функц ашиглахад
- Column names are big or not very readable
Багануудын нэр том эсвэл уншихад хэцүү байхад
- Two or more columns are combined together
Хоёр эсвэл түүнээс олон багануудыг нэгтгэхэд