Serveur d'impression

Alias ​​SQL: guide des alias SQL et du mot clé SQL AS – Serveur d’impression

Le 19 mai 2020 - 12 minutes de lecture

Qu'est-ce qu'un alias en SQL?

Il s'agit d'un nom que vous donnez à une colonne ou une table dans votre requête SQL pour faciliter l'affichage des résultats ou l'écriture de votre requête.

Les alias SQL sont une fonctionnalité utile et sont disponibles dans tous les principaux fournisseurs de bases de données, y compris Oracle, SQL Server, MySQL, PostgreSQL.

Il existe deux types d'alias dans SQL: alias de colonne et alias de table.

Alias ​​de colonne SQL

Un alias de colonne SQL est un nom que vous pouvez donner à une colonne dans une requête.

Alias ​​SQL

L'une des façons les plus courantes de l'utiliser est dans une requête SELECT. La syntaxe pour ce faire est:

SÉLECTIONNER
colonne1 [AS] colname
…

Ça signifie:

  • column1 est le nom de la colonne dans la base de données. Il peut également s'agir d'une expression ou d'une fonction.
  • AS est un mot clé utilisé pour spécifier qu'un alias de colonne sera utilisé.
  • colname est le nouveau nom que vous fournissez pour la colonne.

Un exemple de ceci est cette requête SELECT:

SÉLECTIONNER
nom de famille,
salaire AS salaire_annuel
DE l'employé;

Les résultats de cette requête seraient:

NOM DE FAMILLE SALAIRE ANNUEL
FORGERON 40000
ANDERSON 60000
JONES 45000

La colonne de salaire est la colonne de la base de données, mais elle a reçu un nom de colonne dans la sortie.

Mot clé SQL AS – Dois-je l'utiliser s'il est facultatif?

Le mot clé SQL AS est utilisé pour définir un alias de colonne. Il s'agit également d'un mot clé facultatif.

Si c'est facultatif, devriez-vous l'utiliser?

Je vous recommande de le faire.

Il indique clairement que vous utilisez un alias de colonne.

Considérez cette requête qui n'utilise pas le mot clé AS:

SÉLECTIONNER
Prénom,
nom de famille,
salaire salaire_annuel,
Date d'embauche,
date de début
DE l'employé;

Cette requête donne un alias de annual_salary à la colonne des salaires. Il s'exécutera et vous montrera les données dont vous avez besoin.

La base de données sait que annual_salary est un alias plutôt qu'une colonne, car il n'y a pas de virgule après la colonne précédente.

Cela peut provoquer deux problèmes:

  1. Si vous n'ajoutez pas de virgule après une colonne, le la deuxième colonne ne sera pas affichée.
  2. Les lecteurs de votre requête peuvent se demander si vous manquez une virgule par accident ou si vous ajoutez délibérément un alias de colonne, le rendant déroutant pour le lecteur.

Considérez cette requête qui est légèrement différente:

SÉLECTIONNER
Prénom,
nom de famille,
salaire salaire_annuel,
Date d'embauche
date de début
DE l'employé;

Notez qu'il n'y a pas de virgule après la date de location. En regardant cette requête, il n'est pas facile de voir si la virgule a été oubliée ou si elle a été écrite pour utiliser un alias de start_date pour la colonne location_date.

Les résultats montreront ceci:

PRÉNOM NOM DE FAMILLE SALAIRE ANNUEL DATE DE DÉBUT

Notez qu'il n'y a qu'une seule colonne de date. Il s'agit de la colonne location_date indiquée comme date_début.

Alors, comment pouvez-vous éviter toute cette confusion? Utilisez le mot clé AS avec vos alias de colonne.

La requête ci-dessus peut être écrite comme suit:

SÉLECTIONNER
Prénom,
nom de famille,
salaire AS salaire_annuel,
Date d'embauche,
date de début
DE l'employé;

Cela indique clairement quelles colonnes doivent être affichées dans les résultats et quelles colonnes ont un alias.

C'est pourquoi je vous recommande d'utiliser le mot clé AS dans vos alias de colonne.

Exemples d'alias de colonne SQL

Voyons quelques exemples d'alias de colonnes SQL.

Exemples de données

Ce SQL peut être utilisé pour configurer les exemples de données utilisés dans ce guide.

CREATE TABLE employee_test (
  prénom VARCHAR2 (50),
  nom VARCHAR2 (50),
  salaire NUMBER (6),
  hdt DATE,
  dept_id NUMBER (2)
);



CREATE TABLE department_test (
  ID NUMBER (2),
nom_dept VARCHAR2 (50)
);

INSÉRER TOUT
INTO employee_test (first_name, last_name, salaire, hdt, dept_id)
  VALEURS ('JOHN', 'SMITH', 40000, TO_DATE ('01 -FEB-2018 ',' DD-MON-YYYY '), 1)
INTO employee_test (first_name, last_name, salaire, hdt, dept_id)
  VALEURS ('SALLY', 'ANDERSON', 60000, TO_DATE ('14 -SEP-2012 ',' DD-MON-YYYY '), 2)
INTO employee_test (first_name, last_name, salaire, hdt, dept_id)
  VALEURS ('MARK', 'JONES', 45000, TO_DATE ('20 -NOV-2015 ',' DD-MON-YYYY '), 1)
SELECT * FROM dual;

INSÉRER TOUT
INTO department_test (id, dept_name)
  VALEURS (1, 'VENTES')
INTO department_test (id, dept_name)
  VALEURS (2, 'HR')
SELECT * FROM dual;
 

Exemple 1: SELECT simple

Voici un exemple simple d'une instruction SELECT qui utilise un alias de colonne.

SÉLECTIONNER
nom de famille,
hdt AS date_embauche
FROM employee_test;

Les résultats sont:

NOM DE FAMILLE DATE D'EMBAUCHE
FORGERON 1 fév 2018
ANDERSON 14 sept. 2012
JONES 20 nov. 2015

La colonne indiquée comme date de location ci-dessus est en fait stockée en tant que hdt dans le tableau.

Exemple 2: expression

Cet exemple utilise une expression et lui donne un alias de colonne.

SÉLECTIONNER
Prénom,
nom de famille,
prénom || '' || last_name AS full_name
FROM employee_test;

Les résultats sont:

PRÉNOM NOM DE FAMILLE NOM COMPLET
JOHN FORGERON JOHN SMITH
SORTIE ANDERSON SALLY ANDERSON
MARQUE JONES MARK JONES

Les noms sont concaténés dans un seul champ, appelé full_name. Sans l'alias de colonne, le nom de la colonne serait beaucoup plus compliqué.

Exemple 3: fonction

Cet exemple utilise un alias de colonne sur une fonction.

SÉLECTIONNER
nom de famille,
hdt AS location_date,
ROUND (MONTHS_BETWEEN (SYSDATE, hdt), 0) AS tenure_months
FROM employee_test;

Les résultats sont:

NOM DE FAMILLE DATE D'EMBAUCHE TENURE_MONTHS
FORGERON 1 fév 2018 15
ANDERSON 14 sept. 2012 79
JONES 20 nov. 2015 41

Cette colonne tenure_months indique le nombre de mois pendant lesquels un employé a travaillé. Il utilise une combinaison des fonctions MONTHS_BETWEEN, ROUND et SYSDATE.

Exemple 4: sous-requête

Une autre utilisation courante d'un alias de colonne est dans une sous-requête. Si vous effectuez une logique compliquée mais que vous souhaitez effectuer d'autres opérations dessus, il est souvent judicieux de l'enfermer dans une sous-requête.

Cela vous permettra de:

  • GROUPE PAR l'alias de colonne
  • COMMANDER PAR l'alias de colonne
  • Utilisez l'alias de colonne plusieurs fois sans avoir à réécrire l'expression

Voici un exemple:

SÉLECTIONNER
nom de famille,
Date d'embauche,
tenure_months,
CAS
  QUAND durée_mois> 24 ALORS «Au moins deux ans»
  ELSE «Moins de deux ans»
END AS tenure_statement
DE (
 SÉLECTIONNER
 nom de famille,
 hdt AS location_date,
 ROUND (MONTHS_BETWEEN (SYSDATE, hdt), 0) AS tenure_months
 FROM employee_test
) s
ORDER BY tenure_months ASC;

Cette requête utilise les tenure_months, calculés à partir de la sous-requête, dans la requête externe en tant que colonne à afficher et entrée dans l'instruction CASE. Sans l'alias de sous-requête et de colonne, la requête serait beaucoup plus compliquée.

Les résultats sont:

NOM DE FAMILLE HDT TENURE_MONTHS TENURE_STATEMENT
FORGERON 1 fév 2018 15 Moins de deux ans
ANDERSON 14 sept. 2012 79 Au moins deux ans
JONES 20 nov. 2015 41 Au moins deux ans

Alias ​​de table SQL

Qu'est-ce qu'un alias de table SQL?

Il s'agit d'un nom court que vous donnez à une table lorsque vous l'utilisez dans une requête SQL.

Les alias de table peuvent aider vos requêtes en:

  • Améliorer le lisibilité des requêtes
  • Accélérer le Saisie automatique dans votre IDE SQL.
  • Vous permettant d'utiliser deux instances de la même table (pour les requêtes utilisant une auto-jointure, par exemple)

La syntaxe d'un alias de table est:

SÉLECTIONNER
Colonnes
FROM table [AS] surnom;

Le nom d'alias est le nom donné à votre table pour être utilisé dans la requête.

L'alias que vous utilisez sera souvent court. La plupart des alias que j'utilise et que je vois dans le code des autres personnes ont une à trois lettres. Cela facilite la saisie et est toujours facile à identifier dans une requête.

Quelques exemples sont:

  • employé e
  • employé emp
  • produit p
  • produit pr
  • client c
  • client cust
  • bill_usage_line_items bli

Devez-vous utiliser le mot clé SQL AS avec des alias de table?

Le mot clé AS est facultatif lors de son utilisation avec un alias de table.

Cela signifie que les deux requêtes suivantes fonctionneront:

SELECT first_name
DE l'employé e;

SELECT first_name
DE l'employé AS e;

Que devez-vous utiliser?

Plus tôt, j'ai mentionné que pour les alias de colonne, vous devez utiliser AS car cela indique clairement qu'un alias de colonne est utilisé.

Pour les alias de table, je recommande également d'utiliser le mot clé AS. Cependant, l'impact de la non-utilisation du mot clé AS n'est pas aussi significatif. Si vous n'utilisez pas le mot clé AS, il n'y a aucun risque d'exclusion de tableaux. Vous obtiendrez probablement une erreur de syntaxe lorsque vous exécutez la requête, au lieu d'une colonne manquante dans votre sortie.

De plus, sur Oracle SQL, vous obtiendrez une erreur si vous ajoutez le mot clé AS à l'alias de table.

Ainsi, cette requête fonctionnera sur Oracle:

SELECT first_name
DE l'employé e;

Mais cette requête ne:

SELECT first_name
DE l'employé AS e;

Saisie semi-automatique avec des alias de table

L'utilisation d'un alias de table facilite également l'utilisation de la fonctionnalité de saisie semi-automatique de la plupart des IDE.

Dans un IDE, pour ajouter une colonne à l'instruction SELECT, vous devez saisir le nom complet de la colonne.

À l'aide d'un alias de table, vous pouvez entrer l'alias de table, puis un point, puis une liste des colonnes disponibles apparaîtra dans ce tableau. Cela facilite beaucoup la rédaction de votre requête.

Par exemple, si vous saisissez votre requête de cette manière, la liste des colonnes apparaîtra une fois que vous aurez saisi le «e». dans votre clause SELECT.

SÉLECTIONNER
e.
DE l'employé e;

Exemples d'alias de table SQL

Jetons un œil à quelques exemples d'alias de table SQL.

Exemple 1: requête simple

Voici un exemple simple d'alias de table. Nous utilisons les exemples de données du début de l'article.

SÉLECTIONNER
e.last_name,
e.salary
FROM employee_test e;

Notez que les alias de table ont été utilisés comme préfixe des noms de colonne dans la clause SELECT. Ceci est facultatif dans de nombreux cas mais est souvent requis (s'il existe deux tables avec le même nom de colonne). Cela permet également de clarifier dans quelle table une colonne existe.

Les résultats sont:

NOM DE FAMILLE UN SALAIRE
FORGERON 40000
ANDERSON 60000
JONES 45000

Exemple 2: utilisation d'une clause WHERE

Cet exemple montre comment utiliser un alias de table dans le cadre de la clause WHERE.

SÉLECTIONNER
e.last_name,
e.salary
FROM employee_test e
O e e.salary = 40000;

Les résultats sont:

NOM DE FAMILLE UN SALAIRE
FORGERON 40000

Exemple 3: utilisation d'une jointure

Cet exemple utilise des alias de table dans une jointure.

SÉLECTIONNER
e.last_name,
e.salary,
d.dept_name
FROM employee_test e
INNER JOIN département_test d ON e.dept_id = d.id;

Notez que les tables employee_test et department_test ont des alias de table («e» et «d»). Ils sont utilisés dans la condition de jointure et dans la clause SELECT.

Les résultats de cette requête sont:

NOM DE FAMILLE UN SALAIRE DEPT_NAME
FORGERON 40000 VENTES
ANDERSON 60000 HEURE
JONES 45000 VENTES

Exemple 4: déclaration de mise à jour

Les alias de table SQL peuvent également être utilisés dans les instructions UPDATE.

Voici un exemple:

UPDATE employee_test e
SET e.salary = 42000, e.dept_id = 2
OERE e.last_name = 'SMITH';

Cette requête donne l'alias de table «e» à la table employee_test, et toutes les colonnes de la requête sont préfixées avec l'alias de table.

Voici le tableau avant la mise à jour:

NOM DE FAMILLE UN SALAIRE DEPT_ID
FORGERON 40000 1
ANDERSON 60000 2
JONES 45000 3

Voici le tableau après la mise à jour:

NOM DE FAMILLE UN SALAIRE DEPT_ID
FORGERON 42000 2
ANDERSON 60000 2
JONES 45000 3

Conclusion

SQL permet l'utilisation à la fois d'alias de colonne et d'alias de table. Cela se fait à l'aide du mot clé SQL AS, qui est un mot clé facultatif dans de nombreuses instructions SQL, notamment SELECT, UPDATE et DELETE.

Les alias de colonne vous permettent d'utiliser un nom différent et souvent plus simple pour une colonne dans votre requête.

Les alias de table vous permettent de nommer votre table pour une utilisation dans d'autres parties de votre requête, telles que les clauses SELECT ou WHERE.

Obtenez votre aide-mémoire SQL

Téléchargez les SQL Cheat Sheets: commandes et syntaxe courantes – pour vous faire gagner du temps.
Vous les obtiendrez pour Oracle, SQL Server, MySQL et PostgreSQL.
Imprimez-les ou utilisez-les comme référence facile.

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.