V SQL sú aliasy dočasné názvy priradené stĺpcom alebo tabuľkám, aby sa dotazy ľahšie čítali a zapisovali. Nemenia skutočné názvy v databáze a existujú iba počas trvania tohto dotazu.
- Urobte čitateľné dlhé alebo zložité názvy
- Zjednodušte spojenia a poddotazy
- Zlepšite prehľadnosť v súboroch výsledkov
- Vyhnite sa konfliktom názvov v dopytoch s viacerými tabuľkami
V SQL existujú dva typy aliasov:
- Aliasy stĺpcov: Dočasné názvy stĺpcov v množine výsledkov.
- Aliasy tabuliek: Dočasné názvy tabuliek používaných v rámci dotazu.
Príklad aliasov SQL
Použijeme nasledovnéCustomertabuľku na demonštráciu všetkých konceptov aliasov SQL. Táto tabuľka obsahuje informácie o zákazníkovi, ako je identifikačné číslo krajiny, vek a telefónne číslo.
CREATE TABLE Customer (
CustomerID INT PRIMARY KEY
CustomerName VARCHAR(50)
LastName VARCHAR(50)
Country VARCHAR(50)
Age INT
Phone VARCHAR(15)
);
-- Inserting sample data into the Customer table
INSERT INTO Customer (CustomerID CustomerName LastName Country Age Phone)
VALUES
(1 'Shubham' 'Thakur' 'India' 23 '9876543210')
(2 'Aman' 'Chopra' 'Australia' 21 '9876543211')
(3 'Naveen' 'Tulasi' 'Sri Lanka' 24 '9876543212')
(4 'Aditya' 'Arpan' 'Austria' 21 '9876543213')
(5 'Nishant' 'Jain' 'Spain' 22 '9876543214');
výstup:
| CustomerID | Meno zákazníka | Priezvisko | Krajina | Vek | Telefón |
|---|---|---|---|---|---|
| 1 | Pochybnosť | Thakur | India | 23 | 9876543210 |
| 2 | Bezpečný | Chopra | Austrália | 21 | 9876543211 |
| 3 | Naveen | Tulasi | Srí Lanka | 24 | 9876543212 |
| 4 | Aditya | Arpan | Rakúsko | 21 | 9876543213 |
| 5 | Nishant | Jain | Španielsko | 22 | 9876543214 |
1. Aliasy stĺpcov
Alias stĺpca sa používa na premenovanie stĺpca len pre výstup dotazu. Sú užitočné, keď:
- Zobrazenie súhrnných údajov
- Aby boli výsledky čitateľnejšie
- Vykonávanie výpočtov
Syntax:
SELECT column_name AS alias_name
FROM table_name;
Nasledujúca tabuľka podrobne vysvetľuje argumenty:
- názov_stĺpca: stĺpec, v ktorom vytvoríme názov aliasu.
- alias_name: dočasný názov, ktorý pridelíme stĺpcu alebo tabuľke.
- AS: Je to voliteľné. Ak ste ho nešpecifikovali, nemá to žiadny vplyv na vykonanie dotazu.
Príklad 1: Alias stĺpca na premenovanie stĺpca
Ak chcete získať CustomerID a premenovať ho ako id v sade výsledkov
SELECT CustomerID AS id
FROM Customer;
výstup:
| id |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
2. Aliasy tabuliek
Alias tabuľky sa používa, keď chcete dať tabuľke dočasný názov na dobu trvania dotazu. Aliasy tabuliek sú obzvlášť užitočné pri operáciách JOIN na zjednodušenie dotazov, najmä ak sa na rovnakú tabuľku odkazuje viackrát (ako pri samospojení).
Príklad 2: Alias tabuľky na spájanie tabuliek
Chceme sa pripojiť k tabuľke Zákazník so sebou samým, aby sme našli zákazníkov, ktorí majú rovnakú krajinu a majú 21 rokov. Pre každú inštanciu tabuľky Zákazník budeme používať aliasy tabuliek.
dotaz:
SELECT c1.CustomerName c1.Country
FROM Customer AS c1 Customer AS c2
WHERE c1.Age = c2.Age AND c1.Country = c2.Country;
výstup:
| Meno zákazníka | Krajina |
|---|---|
| Pochybnosť | India |
| Bezpečný | Austrália |
| Naveen | Srí Lanka |
| Aditya | Rakúsko |
| Nishant | Španielsko |
Tu c1 a c2 sú aliasy pre dve inštancie tabuľky Zákazník.
Kombinácia aliasov stĺpcov a tabuliek
Chceme získať zákazníkov, ktorí majú 21 a viac rokov, a premenovať stĺpce pre lepšiu prehľadnosť. Budeme používať aliasy tabuliek aj stĺpcov.
dotaz:
python __name__
SELECT c.CustomerName AS Name c.Country AS Location
FROM Customer AS c
WHERE c.Age >= 21;
výstup:
| Meno | Poloha |
|---|---|
| Pochybnosť | India |
| Bezpečný | Austrália |
| Naveen | Srí Lanka |
| Aditya | Rakúsko |
| Nishant | Španielsko |
Praktické využitie aliasov SQL
- Lepšia čitateľnosť: Robí zložité názvy kratšími a ľahšie zrozumiteľnými.
- Zjednodušenie dopytov: Znižuje opakovanie, najmä pri spojoch.
- Vymazať výstup: Premenuje stĺpce pre zmysluplnejšie výsledky.
- Vyhýba sa konfliktom: Zabraňuje konfliktom názvov v dopytoch viacerých tabuliek.