Summarum: I denne vejledning lærer du at bruge SQL Server alias, herunder kolonnealias og tabelalias.
SQL Server kolonnealias
Når du bruger SELECT
-angivelsen til at forespørge data fra en tabel, bruger SQL Server kolonnenavnene som kolonneoverskrifter for output. Se følgende eksempel:
Code language: SQL (Structured Query Language) (sql)
Som det tydeligt fremgår af outputtet, blev kolonnenavnene first_name
og last_name
brugt til henholdsvis kolonneoverskrifterne.
For at få fulde navne på kunder kan du sammenkæde fornavn, mellemrum og efternavn ved hjælp af sammenkædningsoperatoren +
som vist i følgende forespørgsel:
Code language: SQL (Structured Query Language) (sql)
SQL Server returnerede kolonnen med det fulde navn som ( No column name
), hvilket ikke er meningsfuldt i dette tilfælde.
For at tildele en kolonne eller et udtryk et midlertidigt navn under udførelsen af forespørgslen, bruger du et kolonnealias.
Det følgende illustrerer syntaksen for kolonnealias:
Code language: SQL (Structured Query Language) (sql)
I denne syntaks bruger du nøgleordet AS
til at adskille kolonnenavnet eller udtrykket og aliaset.
Da nøgleordet AS
er valgfrit, kan du tildele et alias til en kolonne på følgende måde:
Code language: SQL (Structured Query Language) (sql)
Tilbage til eksemplet ovenfor kan du omskrive forespørgslen ved hjælp af et kolonnealias:
Code language: SQL (Structured Query Language) (sql)
Bemærk, at hvis kolonnealiaset indeholder mellemrum, skal du omslutte det i anførselstegn, som vist i følgende eksempel:
Code language: SQL (Structured Query Language) (sql)
Det følgende eksempel viser, hvordan du tildeler et alias til en kolonne:
Code language: SQL (Structured Query Language) (sql)
I dette eksempel er kolonnealiaset for produktkategori meget mere tydeligt end kolonnenavnet category_name
.
Når du tildeler en kolonne et alias, kan du bruge enten kolonnens navn eller kolonnealiaset i ORDER BY
-klausulen som vist i følgende eksempel:
Code language: SQL (Structured Query Language) (sql)
Bemærk, at ORDER BY
-klausulen er den allersidste klausul, der skal behandles, derfor er kolonnealiasserne kendt på sorteringstidspunktet.
SQL Server tabelalias
En tabel kan gives et alias, som er kendt som korrelationsnavn eller rangevariabel.
I lighed med kolonnealiaset kan et tabelalias tildeles enten med eller uden nøgleordet AS
:
Code language: SQL (Structured Query Language) (sql)
Se følgende eksempel:
Code language: SQL (Structured Query Language) (sql)
I dette eksempel har både tabellerne customers
og orders
en kolonne med samme navn customer_id
, og derfor skal du henvise til kolonnen ved hjælp af følgende syntaks:
Code language: SQL (Structured Query Language) (sql)
som:
Code language: SQL (Structured Query Language) (sql)
Hvis du ikke gjorde det, ville SQL-serveren udstede en fejl.
Overstående forespørgsel er ret vanskelig at læse. Heldigvis kan du forbedre læsbarheden ved at bruge tabelaliaset på følgende måde:
Code language: SQL (Structured Query Language) (sql)
I denne forespørgsel er c
aliaset for tabellen , og o
er aliaset for tabellen sales.orders
.
Når du tildeler et alias til en tabel, skal du bruge aliaset til at henvise til tabelkolonnen. Ellers vil SQL Server udstede en fejl.
I denne vejledning har du lært, hvordan du bruger SQL Server alias, herunder kolonnealias og tabelalias.