एक SQL एलियास एक टेबल या कॉलम के लिए एक संदर्भ नाम है। उनका उपयोग आपकी क्वेरी को छोटा करने के लिए किया जाता है यदि आपके पास लंबे टेबल नाम हैं। टेबल और कॉलम दोनों एलियास AS कीवर्ड का उपयोग करके परिभाषित किए जाते हैं। एक एलियास तब तक रहता है जब तक क्वेरी निष्पादित नहीं हो जाती। एलियास स्थायी नहीं होते हैं।
क्या आप कभी एक जटिल क्वेरी में लंबे कॉलम या टेबल नाम लिखते-लिखते थक गए हैं? जैसे-जैसे आप SQL के बारे में अधिक सीखते हैं, ऐसा होता है। यहीं एलियास बचाव के लिए आते हैं। एक एलियास आपकी क्वेरी को छोटा करने में मदद करेगा।
इस गाइड में, हम बात करते हैं कि SQL एलियास क्या हैं और उनका उपयोग क्यों किया जाता है। हम एलियास के दो परिदृश्यों के माध्यम से चलते हैं ताकि आप समझ सकें कि SQL एलियास का उपयोग कैसे करें। बिना किसी देरी के, शुरू करते हैं!
नोट: यह ट्यूटोरियल PostgreSQL का उपयोग करके लिखा गया है।
SQL एलियास क्या है?
एक SQL एलियास मानव उपनाम की तरह है। SQL एलियास एक टेबल या टेबल में एक कॉलम को एक प्लेसहोल्डर नाम असाइन करता है। एलियास उपयोगी होते हैं क्योंकि वे क्वेरी और उनके परिणामों को अधिक पठनीय और व्याख्या करने में आसान बनाने में मदद करते हैं।
एक अच्छा एलियास वह है जिसे जितनी जल्दी हो सके समझा जा सके।
यदि number_of_products नामक एक कॉलम भी था, तो name नामक कॉलम का वर्णन करने के लिए एलियास n भ्रमित करने वाला होगा। दोनों अक्षर n से शुरू होते हैं।
fn अधिक उपयुक्त हो सकता है क्योंकि यह full name में प्रत्येक शब्द का पहला अक्षर लेता है। यह एलियास भ्रम पैदा करने की संभावना कम है।
याद रखें कि आपके SQL क्वेरी का उपयोग आपके अलावा कोई और भी कर सकता है। आपको अपने क्वेरी को सभी पाठकों के लिए यथासंभव सहज बनाने का हर संभव प्रयास करना चाहिए।
SQL एलियास: कॉलम
आप कॉलम नामों पर एलियास का उपयोग करते हैं। कॉलम नाम एलियास आपको क्वेरी के आउटपुट में कॉलम का नाम बदलने देता है।
आइए हमारे उदाहरण डेटाबेस में दो टेबल पर एक नज़र डालें। इन डेटाबेस को employees और branches कहा जाता है।
| Employees | Branches | |||||
| name | title | branch_id | salary | branch_id | branch_name | |
| Geoff | Senior Sales Associate | 1 | 38000 | 1 | San Francisco | |
| Adam | Senior Sales Associate | 2 | 38000 | 2 | Cambridge | |
| Emma | Marketing Executive | 2 | 50000 | 3 | Los Angeles | |
| Luke | Marketing Assistant | 3 | 32000 |
employees टेबल में चार कॉलम और चार पंक्तियाँ हैं। branches टेबल में दो कॉलम और तीन पंक्तियाँ हैं।
आइए एक SQL SELECT स्टेटमेंट लिखें जो हमें प्रत्येक शाखा पर अर्जित उच्चतम वेतन बताता है:
SELECT branches.branch_name, MAX(employees.salary) FROM employees LEFT JOIN branches ON employees.branch_id = branches.branch_id GROUP BY branches.branch_name;
हम "employees" टेबल के "salary" कॉलम में उच्चतम मान चुनने के लिए MAX() SQL एग्रीगेट फंक्शन का उपयोग करते हैं। हम "branches" और "employees" टेबल को एक साथ जोड़ने के लिए SQL LEFT JOIN स्टेटमेंट का उपयोग करते हैं। यह हमें प्रत्येक शाखा की वापसी देखने देता है।
आइए देखें कि हमारी क्वेरी क्या लौटाती है:
| branch_name | max |
| San Francisco | 38000 |
| Los Angeles | 32000 |
| Cambridge | 50000 |
हमारी क्वेरी काम करती है। हमारी क्वेरी के शीर्षक नाम बहुत सहज नहीं हैं। किसी ऐसे व्यक्ति के लिए जिसने यह क्वेरी नहीं लिखी है, "max" भ्रमित करने वाला हो सकता है।
हम कॉलम एलियास नाम निर्दिष्ट करके इसे हल करते हैं:
SELECT branches.branch_name AS "Branch Name", MAX(employees.salary) as "Highest Salary" FROM employees LEFT JOIN branches ON employees.branch_id = branches.branch_id GROUP BY branches.branch_name;
हम दो एलियास निर्दिष्ट करते हैं। "branch_name" को "Branch Name" एलियास मिलता है। हमारा MAX() एग्रीगेट फंक्शन "Highest Salary" एलियास प्राप्त करता है। आइए अपनी क्वेरी फिर से चलाएं:
| Branch Name | Highest Salary |
| San Francisco | 38000 |
| Los Angeles | 32000 |
| Cambridge | 50000 |
हमारी क्वेरी द्वारा लौटाई गई पंक्तियाँ समान हैं। टेबल शीर्षक बदल जाते हैं। अब, "branch_name" "Branch Name" है और "max" "Highest Salary" है।
SQL एलियास: टेबल
आप एक टेबल पर SQL एलियास परिभाषित कर सकते हैं। यह उपयोगी है यदि आप एक क्वेरी में कई बार एक टेबल का संदर्भ लेने जा रहे हैं। ऐसी घटना अक्सर अधिक जटिल क्वेरी में होती है।
जब आप कई टेबल क्वेरी करते हैं, तो आपको कॉलम के नाम से पहले प्रत्येक टेबल का नाम निर्दिष्ट करना होगा। टेबल और कॉलम नाम को पीरियड (.) से अलग किया जाता है। यह सुनिश्चित करता है कि SQL ठीक से जानता है कि आपकी क्वेरी में प्रत्येक स्टेटमेंट किस टेबल को संदर्भित करता है।
जबकि यह सुविधा आपको अपनी क्वेरी को अस्पष्ट बनाने से बचाती है, यह उन्हें कम पठनीय बनाती है। इस प्रकार, आपको यह सुनिश्चित करना चाहिए कि आपके एलियास समझने में बहुत कठिन न हों।
आइए एक क्वेरी लिखें जो प्रत्येक कर्मचारी का नाम उस शाखा के नाम के साथ लौटाती है जिस पर वे काम करते हैं:
SELECT employees.name, branches.branch_name FROM employees LEFT JOIN branches ON employees.branch_id = branches.branch_id;
हमारी क्वेरी लौटाती है:
| name | branch_name |
| Geoff | San Francisco |
| Adam | Cambridge |
| Emma | Cambridge |
| Luke | Los Angeles |
हम दो टेबल क्वेरी करते हैं: employees और branches। हम "branch_id" के मान को दोनों टेबल में जोड़ने के लिए LEFT JOIN का उपयोग करते हैं। यह हमें प्रत्येक शाखा का नाम देखने की अनुमति देता है जिससे एक कर्मचारी जुड़ा हुआ है।
हमारी क्वेरी काफी लंबी है। हम "employees" और "branches" शब्दों को दो बार दोहराते हैं। एक लंबी क्वेरी में, हमें इन शब्दों का उपयोग और भी अधिक करना पड़ता है।
हम अपनी क्वेरी को छोटा बनाने के लिए एलियास का उपयोग करते हैं। SQL क्वेरी में टेबल नाम को एलियास के रूप में बनाने के लिए हमें AS कीवर्ड का उपयोग करने की आवश्यकता है:
SELECT e.name, b.branch_name FROM employees AS e LEFT JOIN branches AS b ON e.branch_id = b.branch_id;
यह क्वेरी हमारी पहली क्वेरी के समान आउटपुट लौटाती है।
हम दो एलियास असाइन करते हैं:
- "employees" "e" है
- "branches" "b" है
हमारी क्वेरी में किसी भी समय हम e या b का संदर्भ लेते हैं, SQL इसे ऐसे मानता है जैसे हम "employees" और "branches" को संदर्भित कर रहे हों, क्रमशः। हमारे टेबल एलियास हमें अपने SQL स्टेटमेंट में दोहराव की मात्रा को कम करने की अनुमति देते हैं।
निष्कर्ष
एक SQL एलियास एक कॉलम या टेबल के लिए एक विकल्प नाम है। एलियास क्वेरी-विशिष्ट हैं। इसका मतलब है कि एक क्वेरी में एक एलियास का उपयोग दूसरी क्वेरी में एलियास को पुनः परिभाषित किए बिना नहीं किया जा सकता है। एक एलियास AS कीवर्ड का उपयोग करके सेट किया जाता है।
क्या आप SQL के बारे में अधिक सीखने में रुचि रखते हैं? हमारे How to Learn SQL गाइड को देखें। यह व्यापक गाइड उन पाठ्यक्रमों से लेकर सहायक ऑनलाइन SQL संसाधनों तक सब कुछ कवर करता है जिन पर आपको विचार करना चाहिए।