Les alias concourrent à améliorer la lisibilité et la concision d'une requête. Il existe deux types d'alias : les alias de tables et les alias de champs. Ils peuvent également s'appliquer à une fonction d'agrégation retournant des données sous forme de colonnes.

SELECT Alias_table.nom_champ AS Alias_champ
FROM nom_table AS Alias_table

La clause AS affectant un alias à une table ou une colonne, peut être remplacer par un simple espace blanc.

SELECT Alias_table.nom_champ Alias_champ
FROM nom_table Alias_table

Les alias de champs peuvent être des chaînes de caractères composées de mots et d'espaces. Dans ce cas, il faut placer l'alias entre simple guillemet.

SELECT Alias_table.nom_champ AS 'Un alias de champ'
FROM nom_table AS Alias_table

Lors de l'affichage des lignes résultantes, les alias de champs se substitueront aux noms de colonnes. De cette manière, il devient possible d'attribuer des noms de colonnes plus explicites pour les utilisateurs de la base de données.

Les alias sont particulièrement utiles dans le cadre des jointures et des requêtes imbriquées. Dans les deux cas, il devient possible de faire appel à des champs de noms identiques en les distinguant par des préfixes qui sont les alias de table.

-- Jointure
SELECT p.nom, p.prenom, c.num_client, 
FROM personne AS p, client AS c
WHERE p.nom = c.nom AND p.prenom = c.prenom

-- Jointure réflexive
SELECT p1.*, p2.* FROM personne AS p1, personne AS p2
WHERE p1.code_postal = p2.code_postal

-- Requête imbriquée
SELECT e.nom, e.salaire FROM employes AS e, service AS s
WHERE (e.id_service, e.salaire) IN
         (SELECT id_service, salaire_min FROM Echelle_Salaire
           WHERE id_type_emploi = e.id_type_emploi)
   AND e.id_service = s.id_service
   AND s.code_postal = 77400;

Le langage SQL prévoit également les synonymes de tables, de vues ou de tout autre objet. Les synonymes permettent de dissimuler un nom de table par un autre afin d'éviter qu'un utilisateur accède nommément à un objet qui ne lui appartient guère.

CREATE [ PUBLIC | PRIVATE ] SYNONYM nom_synonyme FOR objet;

CREATE SYNONYM syn_empl FOR tbl_personnel;

Les synonymes peuvent être publics (PUBLIC) donc accessibles dans toute la base de données, et partant, par l'ensemble de ses utilisateurs ou privés (par défaut) donc destinés au seul usage de son créateur et des éventuels bénéficiaires de privilèges d'accès.

Les synonymes peuvent être suprimées par l'intermédaire d'une commande de suppression DROP.

DROP [ PUBLIC | PRIVATE ] SYNONYM nom_synonyme;

DROP SYNONYM syn_empl;
Exemple
SELECT L.Editeur 'Nom des éditeurs',
SUM(L.Prix) 'Total des prix'
FROM Librairie AS L
GROUP BY L.Editeur
HAVING SUM(L.Prix) > 200

' retourne
Nom des éditeurs Total des prix
O'REILLY 616.00
WROX PRESS 286.00
MICROSOFT PRESS 284.00