Structured Query Language (SQL) er et sentralt språk for databasehåndtering (DBMS). Det brukes til å interagere med relasjonsdatabaser, muliggjøre oppretting, endring og henting av informasjon, samt dataadministrasjon. SQL er essensielt for databaseadministratorer, dataanalytikere og utviklere.
Jobbsøkere med SQL-kompetanse kan forvente spørsmål om SQL under intervjuer. Disse kan omfatte et bredt spekter av temaer, fra grunnleggende syntaks til datamodellering, datamanipulering og ytelsesoptimalisering.
For å bistå i forberedelsene til et SQL-intervju, har vi samlet en liste over vanlige spørsmål med tilhørende svar. Vi tilbyr også tips for å effektivt svare på SQL-relaterte intervjuspørsmål.
Vanlige SQL-spørsmål og svar
Grunnleggende SQL-syntaks
-
Hva er funksjonen til SELECT-setningen?
SELECT-setningen brukes for å hente data fra en spesifikk tabell i databasen. Grunnleggende syntaks er:
SELECT * FROM
Her representerer
*
alle kolonnene i tabellen, ogangir tabellens navn.
-
Hva er formålet med WHERE-setningen?
WHERE-setningen brukes til å filtrere de returnerte dataene i en SELECT-setning. Syntaksen er:
SELECT * FROM
WHERE betingelse
Betingelse er et logisk uttrykk som evalueres for hver rad. Bare radene som oppfyller betingelsen blir returnert.
-
Hvordan fungerer JOIN-setningen?
JOIN-setningen kombinerer data fra to eller flere tabeller. Syntaksen er som følger:
SELECT * FROM
1 JOIN
2 ON betingelse
Her er
1
og
2
navnene på tabellene, og betingelse er en logisk sammenligning som bestemmer hvilke rader som skal kombineres.
Datamodellering
-
Hva kjennetegner en relasjonsdatabase?
En relasjonsdatabase organiserer data i tabeller med relasjoner etablert gjennom primær- og fremmednøkler. Dette strukturerte oppsettet muliggjør effektiv datahenting ved hjelp av SQL-spørringer.
-
Hva er en entitetsrelasjonsmodell (ERM)?
ERM er et visuelt verktøy som brukes til å designe strukturen i en relasjonsdatabase. Den benytter entiteter, attributter og relasjoner for å representere elementer fra den virkelige verden som skal lagres i databasen.
-
Hva betyr tredje normalform (3NF)?
3NF er et prinsipp for databasedesign som har som mål å redusere dataduplisering. En database er i 3NF hvis:
1. Hver kolonne avhenger av tabellens primærnøkkel.
2. Hver ikke-primærnøkkelkolonne avhenger av hele primærnøkkelen, ikke bare deler av den.
3. Det finnes ingen transitive funksjonelle avhengigheter.
Datamanipulering
-
Hva er funksjonen til INSERT-setningen?
INSERT-setningen tilføyer nye rader til en tabell. Syntaksen er:
INSERT INTO
(kolonne1, kolonne2, ...) VALUES (verdi1, verdi2, ...)
Her er
tabellens navn, og kolonne1, kolonne2, … er kolonnene som skal fylles, med tilsvarende verdier verdi1, verdi2, …
-
Hva brukes UPDATE-setningen til?
UPDATE-setningen brukes for å endre eksisterende rader i en tabell. Syntaksen er:
UPDATE
SET kolonne1 = verdi1, kolonne2 = verdi2, ... WHERE betingelse
angir tabellen som skal oppdateres. Kolonne1, kolonne2, … angir kolonnene som skal endres, med tilsvarende verdi1, verdi2, …. WHERE-betingelsen angir hvilke rader som skal oppdateres.
-
Hva gjør DELETE-setningen?
DELETE-setningen sletter rader fra en tabell. Syntaksen er:
DELETE FROM
WHERE betingelse
angir tabellen som data skal slettes fra, og betingelse angir hvilke rader som skal slettes.
Ytelsesoptimalisering
-
Hva er en indeks, og hvordan forbedrer den ytelsen?
En indeks er en datastruktur som akselererer utførelsen av SQL-spørringer. Den lagrer en sortert kopi av data fra en eller flere kolonner, slik at databasen raskt kan lokalisere den nødvendige informasjonen uten å skanne hele tabellen.
-
Hva er en materialisert visning og hvordan brukes den?
En materialisert visning er en forhåndsberegnet kopi av resultatene fra en SQL-spørring. Når visningen opprettes, lagres resultatene i en ny tabell. Senere kan databasen bruke den materialiserte visningen for å raskt hente resultatene uten å kjøre den opprinnelige spørringen på nytt.
-
Hva er fragmentering og hvordan påvirker den ytelsen?
Fragmentering oppstår når data i en tabell er spredt over flere usammenhengende blokker på lagringsmediet. Dette kan skje når data settes inn og slettes over tid. Fragmentering forsinker SQL-spørringer fordi databasen bruker mer tid på å lese data fra disken.
Tips for å svare på SQL-intervjuspørsmål
- Vær kort og presis i svarene dine.
- Bruk eksempler for å illustrere poengene dine.
- Diskuter dine erfaringer med SQL i reelle situasjoner.
- Øv på å besvare vanlige SQL-spørsmål før intervjuet.
- Vær forberedt på å stille spørsmål om SQL til intervjueren.
Konklusjon
SQL er et kraftfullt språk som er fundamentalt i moderne databehandling og databaseadministrasjon.