In SQL gli alias sono nomi temporanei dati a colonne o tabelle per rendere le query più facili da leggere e scrivere. Non cambiano i nomi effettivi nel database ed esistono solo per la durata di quella query.
- Rendi leggibili i nomi lunghi o complessi
- Semplifica join e sottoquery
- Migliorare la chiarezza nei set di risultati
- Evitare conflitti di denominazione nelle query su più tabelle
Esistono due tipi di alias in SQL:
- Alias di colonna: Nomi temporanei per le colonne nel set di risultati.
- Alias della tabella: Nomi temporanei per le tabelle utilizzate all'interno di una query.
Esempio di alias SQL
Utilizzeremo quanto segueCustomertabella per dimostrare tutti i concetti di alias SQL. Questa tabella contiene informazioni sul cliente come nome ID, paese, età e numero di telefono.
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');
Produzione:
| ID cliente | NomeCliente | Cognome | Paese | Età | Telefono |
|---|---|---|---|---|---|
| 1 | Dubbio | Thakur | India | 23 | 9876543210 |
| 2 | Sicuro | Chopra | Australia | 21 | 9876543211 |
| 3 | Naveen | Tulasi | Sri Lanka | 24 | 9876543212 |
| 4 | Aditya | Arpan | Austria | 21 | 9876543213 |
| 5 | Nishant | Giain | Spagna | 22 | 9876543214 |
1. Alias di colonna
Un alias di colonna viene utilizzato per rinominare una colonna solo per l'output di una query. Sono utili quando:
- Visualizzazione dei dati aggregati
- Rendere i risultati più leggibili
- Esecuzione di calcoli
Sintassi:
SELECT column_name AS alias_name
FROM table_name;
La tabella seguente spiega gli argomenti in dettaglio:
- nome_colonna: colonna sulla quale creeremo un nome alias.
- nome_alias: nome temporaneo che assegneremo alla colonna o tabella.
- COME: È facoltativo. Se non lo hai specificato non ci sono effetti sull'esecuzione della query.
Esempio 1: alias di colonna per rinominare una colonna
Per recuperare CustomerID e rinominarlo come ID nel set di risultati
SELECT CustomerID AS id
FROM Customer;
Produzione:
| id |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
2. Alias di tabella
Un alias di tabella viene utilizzato quando si desidera assegnare a una tabella un nome temporaneo per la durata di una query. Gli alias di tabella sono particolarmente utili nelle operazioni JOIN per semplificare le query, in particolare quando si fa riferimento più volte alla stessa tabella (come nei self-join).
Esempio 2: alias di tabella per l'unione di tabelle
Vogliamo unire la tabella Cliente con se stessa per trovare clienti che hanno lo stesso Paese e hanno 21 anni. Utilizzeremo gli alias di tabella per ogni istanza della tabella Cliente.
Domanda:
SELECT c1.CustomerName c1.Country
FROM Customer AS c1 Customer AS c2
WHERE c1.Age = c2.Age AND c1.Country = c2.Country;
Produzione:
| NomeCliente | Paese |
|---|---|
| Dubbio | India |
| Sicuro | Australia |
| Naveen | Sri Lanka |
| Aditya | Austria |
| Nishant | Spagna |
Qui c1 e c2 sono alias per due istanze della tabella Customer.
Combinazione di alias di colonna e tabella
Vogliamo recuperare i clienti di età pari o superiore a 21 anni e rinominare le colonne per una maggiore chiarezza. Utilizzeremo sia gli alias di tabella che quelli di colonna.
Domanda:
bordo usando css
SELECT c.CustomerName AS Name c.Country AS Location
FROM Customer AS c
WHERE c.Age >= 21;
Produzione:
| Nome | Posizione |
|---|---|
| Dubbio | India |
| Sicuro | Australia |
| Naveen | Sri Lanka |
| Aditya | Austria |
| Nishant | Spagna |
Usi pratici degli alias SQL
- Migliore leggibilità: Rende i nomi complessi più brevi e più facili da comprendere.
- Semplifica le query: Riduce la ripetizione soprattutto nei join.
- Cancella output: Rinomina le colonne per risultati più significativi.
- Evita i conflitti: Impedisce conflitti di denominazione nelle query su più tabelle.