Alias (SQL)
Ett alias är en funktion i SQL som stöds av de flesta, om inte alla, relationsdatabashanteringssystem (RDBMS) . Alias ger databasadministratörer , såväl som andra databasanvändare, möjligheten att minska mängden kod som krävs för en fråga och att göra frågor enklare att förstå. Dessutom kan aliasing användas som en obfuskeringsteknik för att skydda de riktiga namnen på databasfält.
I SQL kan du alias tabeller och kolumner . Ett tabellalias kallas också ett korrelationsnamn . En programmerare kan använda ett alias för att tillfälligt tilldela ett annat namn till en tabell eller kolumn under en SELECT-frågas varaktighet . Att tilldela ett alias byter faktiskt inte namn på kolumnen eller tabellen. Detta är ofta användbart när antingen tabeller eller deras kolumner har mycket långa eller komplexa namn. Ett alias 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 med namnet "prisinformation".
Den allmänna syntaxen för ett alias är SELECT * FROM tabellnamn [ AS ] aliasnamn
. Observera att nyckelordet AS är helt valfritt och vanligtvis behålls för läsbarhetssyften. Här är några exempeldata som frågorna nedan kommer att referera till:
Avdelnings-ID | Avdelningsnamn |
---|---|
31 | Försäljning |
33 | Teknik |
34 | Prästerlig |
35 | Marknadsföring |
Använda ett tabellalias:
VÄLJ D . Avdelningsnamn FRÅN Avdelning AS D
Vi kan också skriva samma fråga så här (Observera att AS-satsen utelämnas denna gång):
VÄLJ D . Avdelningsnamn FRÅN Avdelning D
Ett kolumnalias är liknande:
VÄLJ d . DepartmentId AS Id , d . Avdelningsnamn AS Namn FRÅN Avdelning d
I de returnerade resultatuppsättningarna skulle data som visas ovan returneras, med det enda undantaget att "DepartmentID" skulle visas som "Id" och "DepartmentName" skulle visas som "Name".
Om bara en tabell väljs och frågan inte använder tabellkopplingar är det tillåtet att utelämna tabellnamnet eller tabellaliaset från kolumnnamnet i SELECT-satsen. Exempel enligt följande:
SELECT DepartmentId AS Id , DepartmentName AS Namn FRÅN Avdelning d
Vissa system, som Postgres och Presto, stöder angivande av kolumnalias tillsammans med tabellalias. T.ex
VÄLJ D . ID FROM Department AS D ( ID )
skulle ge samma resultatuppsättning som tidigare. I denna syntax är det tillåtet att utelämna alias för vissa kolumnnamn. I exemplet angavs ett alias för DepartmentId, men utelämnades för DepartmentName. Kolumner med ospecificerade alias lämnas utan alias. Denna syntax används ofta med uttryck som inte ger användbara tabell- och kolumnnamn, som VALUES och UNNEST. Som ett exempel kan man bekvämt testa ovanstående SQL-satser utan att skapa en faktisk avdelningstabell genom att använda uttryck som t.ex
MED Avdelning ( DepartmentId , DepartmentName ) AS ( VÄRDEN ( 1 , 'HR' ), ( 2 , 'IT' )) VÄLJ DepartmentId AS Id , DepartmentName AS Namn FRÅN Avdelning d ;