Du kjører en spørring med COUNT(*) og får en kolonne uten navn, eller med det kryptiske navnet «COUNT(*)». Resultatene er riktige, men utskriften er uleselig. AS lar deg gi kolonner og tabeller midlertidige navn som gjør spørringene og resultatene mye lettere å forstå.
AS oppretter et alias, altså et midlertidig navn som bare gjelder for den ene spørringen. Originaldataene endres ikke. Du gir bare ting mer forståelige navn i resultatet.
Gi kolonner lesbare navn
Det enkleste bruksområdet er å gi resultatkollonner forståelige navn:
SELECT first_name AS Fornavn, last_name AS Etternavn FROM customers;
I stedet for kolonnene first_name og last_name viser resultatet nå Fornavn og Etternavn. Det gjør ingen forskjell for dataene, men det blir mye lettere å lese, spesielt når du deler resultater med andre.
Alias med mellomrom krever anførselstegn:
SELECT first_name AS "Kunde fornavn", last_name AS "Kunde etternavn" FROM customers;
De fleste holder seg til alias uten mellomrom for enkelhets skyld.
Alias for aggregatfunksjoner
AS er spesielt nyttig med aggregatfunksjoner som COUNT, SUM og AVG, der kolonnenavnet ellers blir funksjonsuttrykket:
SELECT country, COUNT(*) AS antall_kunder FROM customers GROUP BY country;
Uten AS ville den andre kolonnen hete «COUNT(*)» i resultatet. Med AS heter den «antall_kunder». Det er en liten endring som gjør en stor forskjell for lesbarheten.
Du kan bruke AS med alle aggregatfunksjoner:
SELECT customer_id, SUM(total) AS total_handlet, AVG(total) AS snitt_faktura, MAX(total) AS storste_faktura FROM invoices GROUP BY customer_id;
Alias for beregnede kolonner
Når du lager beregnede kolonner, gir AS dem et meningsfullt navn:
SELECT first_name, last_name, first_name || ' ' || last_name AS fullt_navn FROM customers;
Her slår vi sammen for- og etternavn til én kolonne kalt fullt_navn. Uten AS ville kolonnenavnet vært det lange uttrykket «first_name || ' ' || last_name».
Tabellaliaser: kortere JOINs
AS brukes ikke bare for kolonner. Du kan også gi tabeller alias, noe som er spesielt verdifullt i JOIN-spørringer:
SELECT c.first_name, c.last_name, i.total FROM customers AS c INNER JOIN invoices AS i ON c.customer_id = i.customer_id;
I stedet for å skrive customers.first_name og invoices.total skriver du c.first_name og i.total. Med to tabeller sparer du litt. Med tre eller fire tabeller sparer du mye, og spørringen blir vesentlig lettere å lese.
Du kan droppe AS for tabellaliaser og bare skrive:
SELECT c.first_name, i.total FROM customers c INNER JOIN invoices i ON c.customer_id = i.customer_id;
Begge syntaksene er vanlige. Velg den stilen du foretrekker og vær konsekvent.
Hvor kan du bruke alias?
Her er en viktig detalj som skaper forvirring: du kan ikke referere til et kolonnealias overalt i spørringen. SQL behandler klausulene i en bestemt rekkefølge, og aliaset er ikke tilgjengelig i klausuler som kjører «før» SELECT.
- WHERE: Kan ikke bruke kolonnealias. WHERE antall_kunder > 5 gir feil. Bruk WHERE COUNT(*) > 5 (nei, det fungerer heller ikke i WHERE, bruk HAVING).
- GROUP BY: Kan ikke bruke kolonnealias i de fleste databaser.
- HAVING: Kan ikke bruke kolonnealias i de fleste databaser. Gjenta aggregatfunksjonen.
- ORDER BY: Kan bruke kolonnealias. ORDER BY antall_kunder DESC fungerer.
SQLite er mer fleksibelt enn mange andre databaser og tillater alias i flere klausuler. Men for portabel SQL er det tryggest å gjenta uttrykket i WHERE, GROUP BY og HAVING.
COUNT DISTINCT med alias
En nyttig kombinasjon er COUNT(DISTINCT kolonne) med et forklarende alias:
SELECT country, COUNT(DISTINCT city) AS antall_byer FROM customers GROUP BY country ORDER BY antall_byer DESC;
Denne teller antall unike byer per land og sorterer etter antall. Aliaset antall_byer gjør resultatet selvforklarende og kan brukes i ORDER BY.
Alias med LIKE og filtrering
Du kan kombinere alias med alle andre SQL-funksjoner. Her er et eksempel som bruker alias, LIKE og sortering:
SELECT first_name AS Fornavn, last_name AS Etternavn, email AS Epost FROM customers WHERE email LIKE '%gmail.com' ORDER BY Etternavn;
Legg merke til at WHERE bruker det originale kolonnenavnet (email), mens ORDER BY kan bruke aliaset (Etternavn). Det gjenspeiler rekkefølgen SQL behandler klausulene i.
Trenger du alltid AS?
Teknisk sett er AS valgfritt for både kolonner og tabeller. Du kan skrive SELECT first_name Fornavn i stedet for SELECT first_name AS Fornavn. Men AS gjør det tydeligere at det er et alias, og de fleste SQL-stilguider anbefaler å bruke det. Det koster ingenting og gjør spørringen lettere å forstå.
Vanlige feil med AS
- Bruke alias i WHERE. WHERE kolonnen har et alias fungerer ikke. Bruk det originale navnet eller uttrykket.
- Glemme anførselstegn for alias med mellomrom. AS Kunde Navn gir feil. Bruk AS "Kunde Navn" eller unngå mellomrom.
- Tro at alias endrer dataene. AS gir bare et midlertidig visningsnavn. Tabellen og kolonnene forblir uendret.
Neste steg
AS gjør SQL-spørringene dine lesbare og profesjonelle. Kombinert med INNER JOIN og ytre JOINs har du nå verktøyene du trenger for å skrive klare og effektive spørringer på tvers av flere tabeller.
Alle disse konseptene dekkes i kurset SQL for nybegynnere på Utdannet.no, der du jobber med en ekte database og bygger opp ferdighetene dine steg for steg.



