Omdøbe felter og tabeller med AS

SQL-sproget har en indbygget kommando til at omdøbe felter og tabelnavne i resultatet. Det sker med AS-kommandoen. Som du skal se, tillader SQL endda, at du sparer de par tastetryk, der skal til at skrive AS.

Omdøbning af tabelnavne er i sandhed en stor fordel, når man arbejder med flere tabeller. Se nærmere i kapitlet om JOIN (link kommer). Men det er også en måde at give et navn til en kolonne i et resultat med beregnede værdier.

Sådan omdøbes felt eller kolonne i SQL

I SQL skriver du AS og det nye navn lige efter kolonne- eller tabelnavn.

SELECT
  Kolonne1 AS Nytkolonne1navn,
  Kolonne2 AS Nytkolonne2navn
FROM Tabel AS Nyttabelnavn

I dette eksempel omdøbes feltet Navn i Kunde-tabellen til Kundenavn. Feltet Bynavn påvirkes ikke.

SELECT Navn AS Kundenavn, Bynavn
FROM Kunde

Tabellen kan omdøbes sådan her, men det ses ikke umiddelbart i resultatet.

SELECT Navn
FROM Kunde AS Kundetabel

Brug af kvalificeret navngivning med punktum

Senere, når vi arbejder med flere tabeller i en forespørgsel bliver det nødvendigt at angive eksakt feltnavn ved at henvise til tabelnavn og feltnavn på én gang. Det kalder vi for kvalificeret navngivning. Ved at skrive tabelnavn et punktum og dernæst kolonnenavn, fortæller du SQL, at du vil have kolonnen i den specifikke tabel.

SELECT Tabel.Kolonne1, Tabel.Kolonne2, Tabel.*
FROM Tabel

Eksempel: Vis kolonnen Navn i tabellen Kunde:

SELECT Kunde.Navn
FROM Kunde

Omdøbning af tabel og kvalificeret navngivning

I forbindelse med kvalificeret navngivning bliver det meget relevant, hvad man har omdøbt tabellen til. Se dette klip fra SQL Server Management Studio. De røde streger antyder, at Kunde.Navn ikke kan findes.

Du får en fejl, hvis du kører forespørgslen:

Msg 4104, Level 16, State 1, Line 18
The multi-part identifier "Kunde.Navn" could not be bound.

Den korrekt måde er at bruge det navn, der er angivet efter AS ved tabellen.

SELECT Kundetabel.Navn
FROM Kunde AS Kundetabel

Resultatet er det samme som tidligere.

Du behøver ikke skrive AS

SQL tillader, at du udelader ordet AS. Så du kan faktisk gøre sådan her. Bemærk brugen af kvalificeret navngivning, hvor Kunde-tabellen er omdøbt til K.

SELECT K.Navn Kundenavn,
  K.Adresse1 Vej1,
  K.Adresse2 Vej2,
  K.Postnr Postnummer
FROM Kunde K

Prøv selv

  • Vis rækker fra Vare-tabellen med kolonnenavne, der kun er på ét bogstav.
  • Vis kolonnerne Navn, Email og Telefon fra Kundeemne-tabellen med kvalificeret navngivning, giv Kundeemner-tabellen navnet E.
  • Omdøb kolonnerne til hhv. Firmanavn, Emailadresse og Telefonnummer – brug AS.