Alias (SQL)
Hitta källor: ”Alias” SQL – news – newspapers – books – scholar – JSTOR (October 2013) (Learn how and when to remove this template message)
Ett alias är en funktion i SQL som stöds av de flesta, om inte alla, relationella databashanteringssystem (RDBMS). Aliaser ger databasadministratörer, liksom andra databasanvändare, möjlighet att minska den mängd kod som krävs för en fråga och göra frågor enklare att förstå. Dessutom kan alias användas som en förvrängningsteknik för att skydda de verkliga namnen på databasfält.
I SQL kan du använda alias för tabeller och kolumner. Ett tabellalias kallas också för ett korrelationsnamn. En programmerare kan använda ett alias för att tillfälligt tilldela ett annat namn till en tabell eller kolumn under tiden för en SELECT-fråga. Att tilldela ett alias innebär inte att kolumnen eller tabellen byter namn. Detta är ofta användbart när antingen tabeller eller deras kolumner har mycket långa eller komplexa namn. Ett aliasnamn kan vara vad som helst, men vanligtvis hålls det kort. Det kan till exempel vara vanligt att använda ett tabellalias som ”pi” för en tabell som heter ”price_information”.
Den allmänna syntaxen för ett alias är SELECT * FROM table_name alias_name
. Observera att nyckelordet AS är helt frivilligt och vanligtvis behålls det av läsbarhetsskäl. Här är några exempeluppgifter som frågorna nedan kommer att referera till:
AvdelningsID | Avdelningsnamn |
---|---|
31 | Säljare |
33 | Engineering |
34 | Clerical |
35 | Marketing |
Användning av ett alias för en tabell:
SELECT D.DepartmentName FROM Department AS D
Vi kan också skriva samma fråga så här (observera att AS-klausulen utelämnas den här gången):
SELECT D.DepartmentName FROM Department D
Ett kolumnalias liknar:
SELECT d.DepartmentId AS Id, d.DepartmentName AS Name FROM Department d
I de återgivna resultatuppsättningarna skulle de data som visas ovan återges, med det enda undantaget att ”DepartmentID” skulle visas som ”Id” och ”DepartmentName” skulle visas som ”Name”.
Också, om endast en tabell väljs och frågan inte använder tabellfogningar, är det tillåtet att utelämna tabellnamnet eller tabellaliaset från kolumnnamnet i SELECT-angivelsen. Exempel enligt följande:
SELECT DepartmentId AS Id, DepartmentName AS Name FROM Department d