V SQL jsou aliasy dočasné názvy přidělované sloupcům nebo tabulkám, aby se dotazy snadněji četly a zapisovaly. Nemění skutečné názvy v databázi a existují pouze po dobu trvání tohoto dotazu.
- Zajistěte, aby byly dlouhé nebo složité názvy čitelné
- Zjednodušte spojení a poddotazy
- Zlepšete přehlednost v sadách výsledků
- Vyhněte se konfliktům názvů v dotazech s více tabulkami
V SQL existují dva typy aliasů:
- Aliasy sloupců: Dočasné názvy sloupců v sadě výsledků.
- Aliasy tabulek: Dočasné názvy pro tabulky používané v dotazu.
Příklad aliasů SQL
Použijeme následujícíCustomertabulka pro demonstraci všech konceptů aliasů SQL. Tato tabulka obsahuje informace o zákazníkovi, jako je ID země, věk a telefonní čí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:
| Číslo zákazníka | Jméno zákazníka | Příjmení | Země | Stáří | Telefon |
|---|---|---|---|---|---|
| 1 | Pochybovat | Thakur | Indie | 23 | 9876543210 |
| 2 | Trezor | Chopra | Austrálie | 21 | 9876543211 |
| 3 | Naveen | Tulasí | Srí Lanka | 24 | 9876543212 |
| 4 | Aditya | Arpan | Rakousko | 21 | 9876543213 |
| 5 | Nishant | Jain | Španělsko | 22 | 9876543214 |
1. Aliasy sloupců
Alias sloupce se používá k přejmenování sloupce pouze pro výstup dotazu. Jsou užitečné, když:
- Zobrazení souhrnných dat
- Aby byly výsledky čitelnější
- Provádění výpočtů
Syntax:
SELECT column_name AS alias_name
FROM table_name;
Následující tabulka podrobně vysvětluje argumenty:
- název_sloupce: sloupec, ve kterém vytvoříme jméno aliasu.
- alias_name: dočasné jméno, které se chystáme přiřadit sloupci nebo tabulce.
- AS: Je to nepovinné. Pokud jste jej nezadali, nemá to žádný vliv na provedení dotazu.
Příklad 1: Alias sloupce pro přejmenování sloupce
Chcete-li načíst CustomerID a přejmenovat jej na id ve výsledné sadě
SELECT CustomerID AS id
FROM Customer;
výstup:
| id |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
2. Aliasy tabulek
Alias tabulky se používá, když chcete dát tabulce dočasný název po dobu trvání dotazu. Aliasy tabulek jsou zvláště užitečné při operacích JOIN pro zjednodušení dotazů, zejména když se na stejnou tabulku odkazuje vícekrát (jako u samospojení).
Příklad 2: Alias tabulky pro spojování tabulek
Chceme se připojit k tabulce Customer sami, abychom našli zákazníky, kteří mají stejnou zemi a jsou ve věku 21 let. Pro každou instanci tabulky Customer budeme používat aliasy tabulky.
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:
| Jméno zákazníka | Země |
|---|---|
| Pochybovat | Indie |
| Trezor | Austrálie |
| Naveen | Srí Lanka |
| Aditya | Rakousko |
| Nishant | Španělsko |
Zde c1 a c2 jsou aliasy pro dvě instance tabulky Zákazník.
Kombinace aliasů sloupců a tabulek
Chceme načíst zákazníky ve věku 21 a více let a pro lepší přehlednost přejmenovat sloupce. Použijeme aliasy tabulky i sloupce.
Dotaz:
np.klip
SELECT c.CustomerName AS Name c.Country AS Location
FROM Customer AS c
WHERE c.Age >= 21;
výstup:
| Jméno | Umístění |
|---|---|
| Pochybovat | Indie |
| Trezor | Austrálie |
| Naveen | Srí Lanka |
| Aditya | Rakousko |
| Nishant | Španělsko |
Praktické využití aliasů SQL
- Lepší čitelnost: Zkrátí složité názvy a snáze je pochopí.
- Zjednodušuje dotazy: Snižuje opakování zejména ve spojeních.
- Vymazat výstup: Přejmenuje sloupce pro smysluplnější výsledky.
- Vyhýbá se konfliktům: Zabraňuje kolizím názvů v dotazech na více tabulek.