SQL Aliases

तालिकाओं और स्तंभों को अस्थायी नाम देने के लिए SQL उपनामों के बारे में जानें

SQL Aliases क्या हैं?

SQL उपनाम का उपयोग किसी तालिका या तालिका में किसी स्तंभ को अस्थायी नाम देने के लिए किया जाता है।

कॉलम नामों को आगे पार्स करना आसान बनाने के लिए अक्सर उपनामों का उपयोग किया जाता है।

उपनाम केवल उस क्वेरी की अवधि के लिए मौजूद होता है।

AS कीवर्ड का उपयोग करके एक उपनाम बनाया जाता है।

उदाहरण

SELECT CustomerID AS ID
FROM Customers;

एएस वैकल्पिक है

वास्तव में, अधिकांश डेटाबेस भाषाओं में, आप AS कीवर्ड को हटाकर समान परिणाम प्राप्त कर सकते हैं:

उदाहरण

SELECT CustomerID ID
FROM Customers;

वाक्यविन्यास

जब किसी कॉलम में उपनाम का उपयोग किया जाता है:

SELECT column_name AS alias_name
FROM table_name;

जब किसी तालिका में उपनाम का उपयोग किया जाता है:

SELECT column_name(s)
FROM table_name AS alias_name;

प्रदर्शन डेटाबेस

नीचे उदाहरणों में प्रयुक्त ग्राहक और ऑर्डर तालिकाओं में से एक चयन दिया गया है:

ग्राहक तालिका

+------------+---------------------+----------------+-------------------+----------+------------+---------+
| CustomerID | CustomerName        | ContactName    | Address           | City     | PostalCode | Country |
+------------+---------------------+----------------+-------------------+----------+------------+---------+
| 1          | Alfreds Futterkiste | Maria Anders   | Obere Str. 57     | Berlin   | 12209      | Germany |
| 2          | Ana Trujillo...     | Ana Trujillo   | Avda. Constitución| México   | 05021      | Mexico  |
| 3          | Antonio Moreno...   | Antonio Moreno | Mataderos 2312    | México   | 05023      | Mexico  |
+------------+---------------------+----------------+-------------------+----------+------------+---------+

आदेश तालिका

+---------+------------+-----------+------------+------------+
| 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          |
+---------+------------+-----------+------------+------------+

स्तंभों के लिए उपनाम

निम्नलिखित SQL कथन दो उपनाम बनाता है, एक CustomerID कॉलम के लिए और दूसरा CustomerName कॉलम के लिए:

उदाहरण

SELECT CustomerID AS ID, CustomerName AS Customer
FROM Customers;

स्पेस कैरेक्टर के साथ उपनाम का उपयोग करना

यदि आप चाहते हैं कि आपके उपनाम में एक या अधिक रिक्त स्थान हों, तो अपने उपनाम को वर्गाकार कोष्ठक या दोहरे उद्धरण चिह्नों से घेरें, जैसे "मेरे महान उत्पाद"।

उदाहरण

अंतरिक्ष वर्णों वाले उपनामों के लिए [वर्ग कोष्ठक] का उपयोग करना:

SELECT ProductName AS [My Great Products]
FROM Products;

उदाहरण

अंतरिक्ष वर्णों वाले उपनामों के लिए "दोहरे उद्धरण चिह्न" का उपयोग करना:

SELECT ProductName AS "My Great Products"
FROM Products;

नोट:

कुछ डेटाटाइप विधियाँ [] और "" दोनों की अनुमति देती हैं, जबकि कुछ केवल एक की अनुमति देती हैं।

स्तंभों का संयोजन

निम्नलिखित SQL कथन "पता" नामक एक उपनाम बनाता है जो चार स्तंभों (पता, पोस्टलकोड, शहर और देश) को जोड़ता है:

उदाहरण

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

नोट:

उपरोक्त SQL कथन को MySQL में काम करने के लिए:

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

नोट:

Oracle में काम करने के लिए उपरोक्त SQL कथन प्राप्त करने के लिए:

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

तालिकाओं के लिए उपनाम

जब आप किसी तालिका को उपनाम देना चाहते हैं तो वही नियम लागू होते हैं।

उदाहरण

ग्राहक तालिका को व्यक्तियों के रूप में निर्दिष्ट करें:

SELECT * FROM Customers AS Persons;

तालिकाओं पर उपनामों का उपयोग करना उल्टा लग सकता है, लेकिन जब आप अपने प्रश्नों में एक से अधिक तालिकाओं का उपयोग करते हैं, तो यह SQL कथनों को छोटा कर देता है।

उदाहरण

निम्नलिखित SQL कथन CustomerID=4 (अराउंड द हॉर्न) वाले ग्राहक के सभी ऑर्डर का चयन करता है। हम "ग्राहक" और "ऑर्डर" तालिकाओं का उपयोग करते हैं, और उन्हें क्रमशः तालिका उपनाम "सी" और "ओ" देते हैं:

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;

उपनाम कब उपयोगी होते हैं?

  • जब किसी क्वेरी में एक से अधिक तालिकाएँ शामिल हों
  • जब क्वेरी में फ़ंक्शन का उपयोग किया जाता है
  • जब कॉलम नाम बड़े न हों या नेविगेट करने में बहुत आसान न हों
  • जब दो या दो से अधिक कॉलम एक साथ जुड़ जाते हैं

अभ्यास

कौन सा SQL कथन ग्राहक आईडी कॉलम के लिए 'आईडी' के रूप में उपनाम बनाता है?

SELECT CustomerID = 'ID' FROM Customers;
✗ ग़लत! यह सिंटैक्स मान्य उपनाम नहीं है
SELECT CustomerID AS ID FROM Customers;
✓ ठीक है! AS कीवर्ड का उपयोग उपनाम बनाने के लिए किया जाता है
SELECT CustomerID TO ID FROM Customers;
✗ ग़लत! उपनाम के लिए TO कीवर्ड का उपयोग नहीं किया जाएगा
SELECT CustomerID 'ID' FROM Customers;
✗ ग़लत! यह सिंटैक्स कुछ डेटाबेस पर काम कर सकता है, लेकिन AS का उपयोग मानक है