Alias (SQL)
Find kilder: “Alias” SQL – nyheder – aviser – bøger – scholar – JSTOR (oktober 2013) (Lær hvordan og hvornår du kan fjerne denne skabelonbesked)
Et alias er en funktion i SQL, der understøttes af de fleste, hvis ikke alle, relationelle databasestyringssystemer (RDBMS’er). Aliaser giver databaseadministratorer samt andre databasebrugere mulighed for at reducere mængden af kode, der kræves til en forespørgsel, og for at gøre forespørgsler nemmere at forstå. Desuden kan aliasing bruges som en sløringsteknik til at beskytte de rigtige navne på databasefelter.
I SQL kan du give alias til tabeller og kolonner. Et tabelalias kaldes også et korrelationsnavn. En programmør kan bruge et alias til midlertidigt at tildele et andet navn til et bord eller en kolonne i varigheden af en SELECT-forespørgsel. Ved at tildele et alias omdøbes kolonnen eller tabellen faktisk ikke. Dette er ofte nyttigt, når enten tabeller eller deres kolonner har meget lange eller komplekse navne. Et alias-navn kan være hvad som helst, men normalt holdes det kort. Det kan f.eks. være almindeligt at bruge et tabelalias som “pi” for en tabel med navnet “price_information”.
Den generelle syntaks for et alias er SELECT * FROM table_name alias_name
. Bemærk, at nøgleordet AS er helt valgfrit og normalt bevares af hensyn til læsbarheden. Her er nogle eksempeldata, som nedenstående forespørgsler vil referere til:
DepartmentID | DepartmentName |
---|---|
31 | Sales |
33 | Ingeniør |
34 | Købmand |
35 | Marketing |
Anvendelse af et alias for en tabel:
SELECT D.DepartmentName FROM Department AS D
Vi kan også skrive den samme forespørgsel på denne måde (bemærk, at AS-klausulen er udeladt denne gang):
SELECT D.DepartmentName FROM Department D
Et kolonnealias svarer til:
SELECT d.DepartmentId AS Id, d.DepartmentName AS Name FROM Department d
I de returnerede resultatsæt ville de ovenfor viste data blive returneret, med den eneste undtagelse, at “DepartmentID” ville blive vist som “Id”, og “DepartmentName” ville blive vist som “Name”.
Og hvis der kun vælges én tabel, og forespørgslen ikke anvender table joins, er det tilladt at udelade tabelnavnet eller tabelaliaset fra kolonnenavnet i SELECT-erklæringen. Eksempel som følger:
SELECT DepartmentId AS Id, DepartmentName AS Name FROM Department d