Nella lezione dedicata alle funzioni di aggregazione, abbiamo incontrato gli alias, ovvero dei nomi temporanei assegnati ai risultati di specifiche funzioni. In realtà gli alias SQL possono essere utilizzati anche per assegnare un nome temporaneo ad una tabella o a una colonna (ad esempio per migliorarne la "leggibilità" all’interno di una estrazione di dati).
E’ bene precisare che la creazione di un alias non incide minimamente sulla struttura o sui dati presenti nel database: l’alias esiste solo per la durata di quella query!
Per definire un alias si utilizza la parola chiave AS che effettua l’assegnazione di un valore al nome dell’alias.
Riprendiamo un esempio della lezione precedente, quello in cui contiamo i record della tabella dei libri:
SELECT COUNT(*) AS temp FROM libri
Il nostro alias è temp. Se avessimo scritto
SELECT COUNT(*) FROM libri
Alcuni DBMS avrebbero impostato un alias "al volo", assegnando automaticamente un nome predefinito che nella maggior parte dei casi sarebbe Expr1 (espressione 1) ed il risultato, all’interno del buffer di memoria del DBMS, sarebbe stato:
SELECT COUNT(*) AS Expr1 FROM libri
Alias ai nomi delle tabelle
L’utilizzo degli alias per i nomi delle tabelle è frequente nelle JOIN in cui sono coinvolte più tabelle, magari con nomi lunghi e complessi. In questa situazione l’utilizzo degli alias semplifica la fase di scrittura delle query. Vediamo un esempio:
SELECT a.autore, b.titolo FROM
autori AS a
INNER JOIN
libri AS b
ON
a.id = b.id_autore
Alias ai nomi delle colonne
Possiamo scegliere di assegnare un alias anche a delle colonne. Tale operazione può rivelarsi utile per migliorare la leggibilità dei dati in fase di report. Facciamo un esempio:
SELECT id AS 'Identificativo', autore AS 'Nome Autore' FROM autori;
Il risultato sarà il seguente:
Identificativo | Nome Autore |
---|---|
1 | J.R.R. Tolkien |
2 | E.A. Poe |
3 | B. Stocker |
Come potete vedere i nomi delle colonne definiti mediante gli alias sono decisamente più "amichevoli" di quelli reali.