MySQL में टेबल एलियास: * के साथ उपयोग नहीं कर सकते, लेकिन कॉलम के लिए उपयोगी
नियम:
SELECT * के साथ एलियास नहीं उपयोग कर सकते
- व्यक्तिगत कॉलम के लिए एलियास उपयोग करें:
alias.column AS alias_name
सिंटैक्स:
SELECT alias.columnName1 AS aliasName1, alias.columnName2 AS aliasName2, ...
FROM yourTableName AS alias;
व्यावहारिक उदाहरण
1. टेबल बनाएं:
mysql> CREATE TABLE TableAliasDemo (Id INT, Name VARCHAR(100), Age INT);
Query OK, 0 rows affected (0.46 sec)
2. डेटा डालें:
mysql> INSERT INTO TableAliasDemo VALUES(1,'John',23);
mysql> INSERT INTO TableAliasDemo VALUES(2,'Sam',24);
mysql> INSERT INTO TableAliasDemo VALUES(3,'David',26);
mysql> INSERT INTO TableAliasDemo VALUES(4,'Carol',20);
3. सभी रिकॉर्ड:
+------+-------+------+
| Id | Name | Age |
+------+-------+------+
| 1 | John | 23 |
| 2 | Sam | 24 |
| 3 | David | 26 |
| 4 | Carol | 20 |
4 rows in set (0.00 sec)
4. एलियास के साथ SELECT:
mysql> SELECT alias.Id AS aliasForIdColumn,
-> alias.Name AS aliasForNameColumn,
-> alias.Age AS aliasForAgeColumn
-> FROM TableAliasDemo AS alias;
+------------------+--------------------+-------------------+
| aliasForIdColumn | aliasForNameColumn | aliasForAgeColumn |
+------------------+--------------------+-------------------+
| 1 | John | 23 |
| 2 | Sam | 24 |
| 3 | David | 26 |
| 4 | Carol | 20 |
+------------------+--------------------+-------------------+
4 rows in set (0.00 sec)
एलियास के फायदे:
- पठनीयता: छोटे नाम (उदाहरण:
employees e, orders o)
- अस्पष्टता हटाना: सेल्फ-जॉइन या बहु-टेबल क्वेरी में कॉलम नाम टकराव रोकता है
- आवश्यक: सबक्वेरी/डेराइव्ड टेबल के लिए एलियास अनिवार्य
सेल्फ-जॉइन उदाहरण (एलियास आवश्यक):
SELECT e1.Name AS Employee, e2.Name AS Manager
FROM employees e1
JOIN employees e2 ON e1.manager_id = e2.id;
सबक्वेरी में एलियास (अनिवार्य):
SELECT * FROM (SELECT id, name FROM users) AS subq;
कॉलम एलियास (AS वैकल्पिक):
SELECT name AS n, age a FROM users; -- AS वैकल्पिक
SELECT name n, age a FROM users; -- समान
सर्वोत्तम अभ्यास:
- सार्थक छोटे एलियास उपयोग करें (
u के बजाय usr)
- कॉलम एलियास के लिए
AS लिखें (पठनीयता)
- रिजर्व्ड वर्ड को बैकटिक में लपेटें:
SELECT \`order\` AS ord FROM table