In SQL zijn aliassen tijdelijke namen die aan kolommen of tabellen worden gegeven om het lezen en schrijven van query's te vergemakkelijken. Ze veranderen de werkelijke namen in de database niet en bestaan alleen voor de duur van die zoekopdracht.
- Maak lange of complexe namen leesbaar
- Vereenvoudig joins en subquery's
- Verbeter de duidelijkheid in resultatensets
- Vermijd naamconflicten in query's met meerdere tabellen
Er zijn twee soorten aliassen in SQL:
- Kolomaliassen: Tijdelijke namen voor kolommen in de resultatenset.
- Tabelaliassen: Tijdelijke namen voor tabellen die binnen een query worden gebruikt.
Voorbeeld van SQL-aliassen
Wij zullen het volgende gebruikenCustomertabel om alle SQL-aliasconcepten te demonstreren. Deze tabel bevat klantinformatie zoals ID-naam, land, leeftijd en telefoonnummer.
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');
Uitgang:
| KlantID | Klantnaam | Achternaam | Land | Leeftijd | Telefoon |
|---|---|---|---|---|---|
| 1 | Twijfel | Thakur | Indië | 23 | 9876543210 |
| 2 | Veilig | Chopra | Australië | 21 | 9876543211 |
| 3 | Naveen | Tulasi | Sri Lanka | 24 | 9876543212 |
| 4 | Aditya | Arpan | Oostenrijk | 21 | 9876543213 |
| 5 | Nishant | Jaïn | Spanje | 22 | 9876543214 |
1. Kolomaliassen
Een kolomalias wordt gebruikt om de naam van een kolom te wijzigen, alleen voor de uitvoer van een query. Ze zijn nuttig wanneer:
- Geaggregeerde gegevens weergeven
- Resultaten beter leesbaar maken
- Het uitvoeren van berekeningen
Syntaxis:
SELECT column_name AS alias_name
FROM table_name;
In de volgende tabel worden de argumenten in detail uitgelegd:
- kolomnaam: kolom waarop we een aliasnaam gaan maken.
- aliasnaam: tijdelijke naam die we aan de kolom of tabel gaan toewijzen.
- ALS: Het is optioneel. Als u dit niet hebt opgegeven, heeft dit geen invloed op de uitvoering van de query.
Voorbeeld 1: Kolomalias voor het hernoemen van een kolom
Om de KlantID op te halen en deze te hernoemen als id in de resultatenset
SELECT CustomerID AS id
FROM Customer;
Uitgang:
| Identiteitskaart |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
2. Tabelaliassen
Een tabelalias wordt gebruikt als u een tabel een tijdelijke naam wilt geven voor de duur van een query. Tabelaliassen zijn vooral handig bij JOIN-bewerkingen om query's te vereenvoudigen, vooral wanneer naar dezelfde tabel meerdere keren wordt verwezen (zoals bij self-joins).
Voorbeeld 2: Tabelalias voor het samenvoegen van tabellen
We willen de tabel Klanten samenvoegen met zichzelf om klanten te vinden die hetzelfde land hebben en 21 jaar oud zijn. We zullen tabelaliassen gebruiken voor elk exemplaar van de tabel Klanten.
Vraag:
SELECT c1.CustomerName c1.Country
FROM Customer AS c1 Customer AS c2
WHERE c1.Age = c2.Age AND c1.Country = c2.Country;
Uitgang:
| Klantnaam | Land |
|---|---|
| Twijfel | Indië |
| Veilig | Australië |
| Naveen | Sri Lanka |
| Aditya | Oostenrijk |
| Nishant | Spanje |
Hier zijn c1 en c2 aliassen voor twee exemplaren van de tabel Klant.
Kolom- en tabelaliassen combineren
We willen klanten ophalen die 21 jaar of ouder zijn en de kolommen hernoemen voor meer duidelijkheid. We zullen zowel tabel- als kolomaliassen gebruiken.
Vraag:
python verminderen
SELECT c.CustomerName AS Name c.Country AS Location
FROM Customer AS c
WHERE c.Age >= 21;
Uitgang:
| Naam | Locatie |
|---|---|
| Twijfel | Indië |
| Veilig | Australië |
| Naveen | Sri Lanka |
| Aditya | Oostenrijk |
| Nishant | Spanje |
Praktisch gebruik van SQL-aliassen
- Betere leesbaarheid: Maakt complexe namen korter en gemakkelijker te begrijpen.
- Vereenvoudigt zoekopdrachten: Vermindert herhaling, vooral in joins.
- Duidelijke uitvoer: Hernoemt kolommen voor betekenisvollere resultaten.
- Vermijdt conflicten: Voorkomt naamgevingsconflicten in query's met meerdere tabellen.