Sommario: in questo tutorial, imparerete come utilizzare MySQL alias per migliorare la leggibilità delle query.
MySQL supporta due tipi di alias noti come alias colonna e alias tabella.
Alias MySQL per colonne
A volte, i nomi delle colonne sono così tecnici che rendono l’output della query molto difficile da capire. Per assegnare a una colonna un nome descrittivo, è possibile utilizzare un alias di colonna.
La seguente istruzione illustra come utilizzare l’alias della colonna:
Code language: SQL (Structured Query Language) (sql)
Per assegnare un alias a una colonna, si utilizza la parola chiave AS
seguita dall’alias. Se l’alias contiene spazi, è necessario citarlo come segue:
Code language: SQL (Structured Query Language) (sql)
Poiché la parola chiave AS
è facoltativa, è possibile ometterla nell’istruzione. Nota che puoi anche dare a un’espressione un alias.
Diamo un’occhiata alla tabella employees
nel database di esempio.
La seguente query seleziona i nomi e i cognomi dei dipendenti. Utilizza la funzione CONCAT_WS()
per concatenare nome e cognome nel nome completo.
Code language: SQL (Structured Query Language) (sql)
Provalo
L’intestazione della colonna è abbastanza difficile da leggere. Per risolvere questo problema, è possibile assegnare all’intestazione della colonna dell’output un alias di colonna come mostrato nella seguente query:
Code language: SQL (Structured Query Language) (sql)
Provalo
In MySQL, è possibile utilizzare l’alias colonna nelle clausole ORDER BY
, GROUP BY
e HAVING
per fare riferimento alla colonna.
La seguente query utilizza l’alias di colonna nella clausola ORDER BY
per ordinare i nomi completi del dipendente in ordine alfabetico:
Code language: SQL (Structured Query Language) (sql)
Provalo
La seguente istruzione seleziona gli ordini il cui importo totale è maggiore di 60000. Utilizza alias di colonna nelle clausole GROUP BY
e HAVING
.
Code language: SQL (Structured Query Language) (sql)
Provalo
Si noti che non è possibile utilizzare un alias di colonna nella clausola WHERE
. Il motivo è che quando MySQL valuta la clausola WHERE
, i valori delle colonne specificate nella clausola SELECT
non sono ancora stati valutati.
Alias MySQL per le tabelle
È possibile utilizzare un alias per dare a una tabella un nome diverso. Si assegna a una tabella un alias utilizzando la parola chiave AS
come sintassi seguente:
Code language: SQL (Structured Query Language) (sql)
L’alias per una tabella è chiamato alias tabella. Come l’alias della colonna, la parola chiave AS
è facoltativa in modo da poterla omettere.
Questa query mostra come assegnare l’alias della tabella employees
come e:
Code language: SQL (Structured Query Language) (sql)
Una volta assegnato un alias a una tabella, è possibile fare riferimento alle colonne della tabella utilizzando la seguente sintassi:
Code language: SQL (Structured Query Language) (sql)
Ad esempio:
Code language: SQL (Structured Query Language) (sql)
Gli alias della tabella vengono spesso utilizzati nell’istruzione che contiene INNER JOIN
, LEFT JOIN
, RIGHT JOIN
clausole e sottoquery.
Diamo un’occhiata alle tabelle customers
e orders
:
Entrambe le tabelle hanno lo stesso nome di colonna:customerNumber
.Senza utilizzare l’alias della tabella per qualificare la colonna customerNumber
, verrà visualizzato un messaggio di errore come:
Code language: SQL (Structured Query Language) (sql)
Per evitare questo errore, utilizzare l’alias della tabella per qualificare la colonna customerNumber
:
Code language: SQL (Structured Query Language) (sql)
Provalo
La query sopra seleziona il nome del cliente e il numero di ordini dalle tabelle customers
e orders
. Utilizza c
come alias di tabella per la tabella customers
e o
come alias di tabella per la tabella orders
. Le colonne nelle tabelle customers
e orders
sono indicate tramite gli alias della tabella.
Se non si utilizza l’alias nella query sopra, è necessario utilizzare il nome della tabella per fare riferimento alle sue colonne, il che rende la query lunga e meno leggibile come segue:
Code language: SQL (Structured Query Language) (sql)
Provalo
In questo tutorial, hai imparato come usare gli alias MySQL, inclusi gli alias di colonne e tabelle.
- Questo tutorial è stato utile?
- Sìno