Blog Navicat

Utiliser les alias de base de données 10 Juillet 2023 par Robert Gravelle

SQL prend en charge l'utilisation d'alias pour donner un nom temporaire à une table ou à une colonne. Non seulement cela facilite la saisie, mais les alias peuvent également rendre vos requêtes plus lisibles et compréhensibles. Dans le blog d'aujourd'hui, nous apprendrons comment intégrer des alias dans nos requêtes à l'aide de Navicat Premium 16.2.

Présentation des alias SQL

Comme mentionné dans l'introduction, les noms de tables et de colonnes peuvent porter des alias. Voici la syntaxe pour chacun :

Alias Column Syntax

SELECT 
  column_name [AS] alias_name,
  column_name AS 'Alias Name' -- for names with spaces
FROM table_name;

Alias Table Syntax

SELECT column_name(s)
FROM table_name [AS] alias_name;

Deux points à considérer concernant les alias :

  • Un alias est généralement précédé du mot-clé AS, mais il est facultatif.
  • Un alias n'existe que pour la durée de cette requête.

Alias de table dans les requêtes de jointure

Voici une requête sur la base de données d'échantillons « Sakila » qui récupère des informations sur toutes les copies d'un film particulier :

SELECT *
FROM film f 
  INNER JOIN inventory i ON i.film_id = f.film_id
WHERE i.store_id = 1 AND f.title = "Academy Dinosaur";

Dans la requête ci-dessus, étant donné que les tables « film » et « inventory » contiennent une colonne « film_id », elles doivent être pleinement qualifiées, c'est-à-dire préfixées par le nom de la table. Dans ce cas, des alias peuvent être utilisés pour raccourcir la déclaration.

Voici la requête dans Navicat ainsi que les résultats :

film_query (80K)

Alias de colonnes

Dans le cas des noms de colonnes, des abréviations sont souvent utilisées pour que les noms de colonnes restent courts lors de la conception des tables de base de données. Par exemple:

  • "so_no" pour "sales order number".
  • "qty" pour "quantity"

Ici, des alias de colonne peuvent être utilisés pour rendre le contenu de la colonne plus intuitif. Voici un exemple :

SELECT
	inv_no AS invoice_no,
	amount,
	due_date AS 'Due date',
	cust_no 'Customer No'
FROM
	invoices;

Vous pouvez également attribuer des alias de colonne aux expressions, comme indiqué ci-dessous

expression_alias (113K)

La requête ci-dessus sélectionne à la fois le prix actuel et futur des produits après application d'une augmentation de prix.

Limites des alias de colonnes

Étant donné que les alias de colonne sont attribués dans la clause SELECT, vous pouvez uniquement référencer les alias dans les clauses évaluées après la clause SELECT. Par conséquent, vous ne pouvez pas inclure d’alias dans la clause WHERE, cela entraînerait une erreur :

alias_error (42K)

Cela se produit car la base de données évalue la clause WHERE avant la clause SELECT. Par conséquent, au moment où elle évalue la clause WHERE, la base de données ne dispose pas des informations de l'alias de la colonne « NewPrice ».

Il est cependant permis d'utiliser des alias de colonnes dans la clause ORDER BY car ils sont évalués après la clause SELECT :

alias_in_order_by (113K)

La base de données évalue les clauses de la requête dans l'ordre suivant :

FROM > SELECT > ORDER BY

Alias de table dans Navicat

Dans Navicat, une fois qu'un alias de table a été défini, il apparaîtra dans la liste de saisie semi-automatique.

alias_in_navicat (65K)

Cela rend les alias encore plus rapides à utiliser !

Réflexions finales sur l'utilisation des alias de base de données

Dans le blog d'aujourd'hui, nous avons appris comment intégrer des alias dans nos requêtes à l'aide de Navicat Premium 16.2. Les alias sont un moyen simple de rendre vos requêtes plus lisibles et compréhensibles, ce qui est important car le code ne concerne pas seulement l'exécution, c'est aussi un mécanisme de communication.

Partager
Archives du blog