SQL Server Alias

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.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.