Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Nestede Spørringer | Nestede Underforespørsler
Videregående SQL

Nestede Spørringer

Sveip for å vise menyen

Skoleadministrasjonen er fornøyd med dine siste prestasjoner og ser frem til å fortsette.

Når de starter sin sommerferie, har du muligheten til å utforske nye metoder og forbedre dine SQL-ferdigheter.

Fokuset ditt vil være på nøstede spørringer, et sentralt konsept i SQL.

Note
Definisjon

Nøstede spørringer, eller nøstede underforespørsler, er integrerte komponenter i SQL der en spørring er plassert inne i en annen spørring. Disse konstruksjonene muliggjør ulike operasjoner som datafiltrering, beregning og uthenting, og krever ofte integrering av underforespørsler.

Se på et eksempel fra bedriftsdatabasen. Etter hvert som selskapet vokser, har det blitt lagt til en ny department-tabell. Dette endrer hvordan databasen fungerer.

Se på den nye tabellens struktur for å forstå dens rolle i databasen:

Den nye tabellen inneholder avdelinger, deres typer og budsjetter. I employee-tabellen, som du kanskje husker, finnes det informasjon om hvilken avdeling hver ansatt tilhører.

Se et eksempel der nøstede spørringer brukes for å hente ut de ansatte som jobber i avdelinger med budsjetter på $500 000 eller mindre:

1234567
SELECT * FROM employees WHERE department IN ( SELECT name FROM department WHERE budget <= 500000 )

En WHERE-setning brukes for å angi at avdelingsnavnet skal være til stede i tabellen hentet med den indre spørringen.

Del opp denne spørringen i to separate spørringer for å se hvordan den fungerer. Først henter vi navnene på avdelinger med budsjetter på $500 000 eller mindre (indre spørring):

123
SELECT name FROM department WHERE budget <= 500000

Nå, med tanke på det oppnådde resultatet, skriv den andre spørringen for å hente informasjon om de ansatte fra disse avdelingene:

12345
SELECT * FROM employees WHERE department IN ( 'Marketing', 'Human Resources', 'Finance', 'Customer Service', 'Legal' )

Resultatet av denne spørringen vil være det samme som den første spørringen.

Her er en trinnvis gjennomgang:

  1. Indre spørring henter names på avdelingene vi trenger;

  2. WHERE-setningen sjekker om disse avdelingene finnes i tabellen fra den indre spørringen;

  3. Vi får ønsket resultat.

Her er den grunnleggende syntaksen for en indre spørring:

SELECT columns
FROM table_1
WHERE column_name IN (
  SELECT column
  FROM table_2
  other clauses
)

Når du bruker nestede spørringer, bør du huske på følgende viktige punkter:

  1. Én kolonne i underforespørsel: sørg for at den nestede spørringen kun returnerer én kolonne. Hvis den brukes i en sammenligning, bør den ideelt sett returnere én verdi. Dette er avgjørende for operatorer som =, >, <, >=, <=, <>;

  2. Datatyper: datatypen til kolonnen som returneres bør samsvare med kolonnen du sammenligner med, for å unngå feil;

  3. Optimalisering: nestede spørringer kan være trege, spesielt hvis de kjøres for hver rad i hovedspørringen;

  4. Bruk av IN-operatoren: nestede spørringer bruker ofte IN-operatoren for å sjekke verdier i et delsett. Du kan også bruke sammenligningsoperatorer for mer komplekse betingelser.

1. Hva er en nestet spørring i SQL?

2. Hvilken SQL-operator brukes ofte sammen med nestede spørringer for å sjekke verdier i et delsett?

3. Hvorfor er det viktig at datatypen til kolonnen som returneres av en nestet spørring samsvarer med kolonnen den sammenlignes med?

question mark

Hva er en nestet spørring i SQL?

Velg det helt riktige svaret

question mark

Hvilken SQL-operator brukes ofte sammen med nestede spørringer for å sjekke verdier i et delsett?

Velg det helt riktige svaret

question mark

Hvorfor er det viktig at datatypen til kolonnen som returneres av en nestet spørring samsvarer med kolonnen den sammenlignes med?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 1

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 2. Kapittel 1
some-alt