Dans SQL, les alias sont des noms temporaires donnés aux colonnes ou aux tables pour faciliter la lecture et l'écriture des requêtes. Ils ne modifient pas les noms réels dans la base de données et n'existent que pour la durée de cette requête.
- Rendre lisibles les noms longs ou complexes
- Simplifiez les jointures et les sous-requêtes
- Améliorer la clarté des ensembles de résultats
- Évitez les conflits de noms dans les requêtes multi-tables
Il existe deux types d'alias en SQL :
- Alias de colonnes : Noms temporaires des colonnes du jeu de résultats.
- Alias de table : Noms temporaires des tables utilisées dans une requête.
Exemple d'alias SQL
Nous utiliserons ce qui suitCustomertableau pour démontrer tous les concepts d'alias SQL. Ce tableau contient des informations sur le client telles que le nom d'identification, le pays, l'âge et le numéro de téléphone.
CREATE TABLE Customer (
CustomerID INT PRIMARY KEY
CustomerName VARCHAR(50)
LastName VARCHAR(50)
Country VARCHAR(50)
Age INT
Phone VARCHAR(15)
);
-- Inserting sample data into the Customer table
INSERT INTO Customer (CustomerID CustomerName LastName Country Age Phone)
VALUES
(1 'Shubham' 'Thakur' 'India' 23 '9876543210')
(2 'Aman' 'Chopra' 'Australia' 21 '9876543211')
(3 'Naveen' 'Tulasi' 'Sri Lanka' 24 '9876543212')
(4 'Aditya' 'Arpan' 'Austria' 21 '9876543213')
(5 'Nishant' 'Jain' 'Spain' 22 '9876543214');
Sortir:
| Numéro client | Nom du client | Nom de famille | Pays | Âge | Téléphone |
|---|---|---|---|---|---|
| 1 | Doute | Thakur | Inde | 23 | 9876543210 |
| 2 | Sûr | Chopra | Australie | 21 | 9876543211 |
| 3 | Naveen | Tulasi | Sri Lanka | 24 | 9876543212 |
| 4 | Aditya | Arpan | Autriche | 21 | 9876543213 |
| 5 | Nishant | Jaïn | Espagne | 22 | 9876543214 |
1. Alias de colonnes
Un alias de colonne est utilisé pour renommer une colonne uniquement pour le résultat d'une requête. Ils sont utiles lorsque :
- Affichage des données agrégées
- Rendre les résultats plus lisibles
- Effectuer des calculs
Syntaxe:
SELECT column_name AS alias_name
FROM table_name;
Le tableau suivant explique les arguments en détail :
- nom_colonne : colonne sur laquelle nous allons créer un nom d'alias.
- nom_alias : nom temporaire que nous allons attribuer à la colonne ou à la table.
- COMME: C'est facultatif. Si vous ne l'avez pas spécifié, cela n'a aucun effet sur l'exécution de la requête.
Exemple 1 : Alias de colonne pour renommer une colonne
Pour récupérer le CustomerID et le renommer en tant qu'identifiant dans le jeu de résultats
SELECT CustomerID AS id
FROM Customer;
Sortir:
| identifiant |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
2. Alias de table
Un alias de table est utilisé lorsque vous souhaitez donner à une table un nom temporaire pour la durée d'une requête. Les alias de table sont particulièrement utiles dans les opérations JOIN pour simplifier les requêtes, en particulier lorsque la même table est référencée plusieurs fois (comme dans les auto-jointures).
Exemple 2 : Alias de table pour joindre des tables
Nous souhaitons rejoindre la table Customer avec elle-même pour rechercher les clients qui ont le même pays et qui sont âgés de 21 ans. Nous utiliserons des alias de table pour chaque instance de la table Customer.
Requête:
SELECT c1.CustomerName c1.Country
FROM Customer AS c1 Customer AS c2
WHERE c1.Age = c2.Age AND c1.Country = c2.Country;
Sortir:
| Nom du client | Pays |
|---|---|
| Doute | Inde |
| Sûr | Australie |
| Naveen | Sri Lanka |
| Aditya | Autriche |
| Nishant | Espagne |
Ici, c1 et c2 sont des alias pour deux instances de la table Customer.
Combinaison d'alias de colonne et de table
Nous souhaitons récupérer les clients âgés de 21 ans ou plus et renommer les colonnes pour plus de clarté. Nous utiliserons à la fois des alias de table et de colonne.
Requête:
types de données de suite
SELECT c.CustomerName AS Name c.Country AS Location
FROM Customer AS c
WHERE c.Age >= 21;
Sortir:
| Nom | Emplacement |
|---|---|
| Doute | Inde |
| Sûr | Australie |
| Naveen | Sri Lanka |
| Aditya | Autriche |
| Nishant | Espagne |
Utilisations pratiques des alias SQL
- Meilleure lisibilité : Rend les noms complexes plus courts et plus faciles à comprendre.
- Simplifie les requêtes : Réduit la répétition en particulier dans les jointures.
- Effacer la sortie : Renomme les colonnes pour des résultats plus significatifs.
- Évite les conflits : Empêche les conflits de noms dans les requêtes multi-tables.