Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Indlejrede Forespørgsler | Indlejrede Underforespørgsler
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Mellemliggende SQL

bookIndlejrede Forespørgsler

Skoleadministrationen er tilfreds med vores seneste resultater og ser frem til at fortsætte.

Da de påbegynder deres sommerferie, har vi mulighed for at undersøge nye metoder og forbedre vores SQL-færdigheder.

Vores fokus vil være på indlejrede forespørgsler, et centralt begreb i SQL.

Note
Definition

Indlejrede forespørgsler, eller indlejrede subforespørgsler, er integrerede komponenter i SQL, hvor en forespørgsel er placeret inden i en anden forespørgsel. Disse konstruktioner muliggør forskellige operationer såsom datafiltrering, beregning og hentning, hvilket ofte kræver integration af subforespørgsler.

Lad os se på et eksempel fra vores virksomheds database. Efterhånden som virksomheden vokser, har vi tilføjet en ny department-tabel. Dette ændrer, hvordan vores database fungerer.

Lad os undersøge den nye tabels struktur for at se dens rolle i vores database:

Den nye tabel indeholder afdelinger, deres typer og budgetter. Og i employee-tabellen, som du måske husker, findes der information om hvilken afdeling hver medarbejder tilhører.

Lad os se på et eksempel, hvor vi bruger indlejrede forespørgsler til at hente de medarbejdere, der arbejder i afdelinger med budgetter på $500.000 eller mindre:

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

Vi bruger en WHERE-klausul til at angive, at afdelingsnavnet skal være til stede i den tabel, vi henter med den indre forespørgsel.

Lad os opdele denne forespørgsel i to separate forespørgsler for at se, hvordan den fungerer. Først henter vi navnene på afdelinger med budgetter på $500.000 eller mindre (vores indre forespørgsel):

123
SELECT name FROM department WHERE budget <= 500000
copy

Nu, med det opnåede resultat, skriver vi den anden forespørgsel for at hente oplysninger om medarbejderne fra disse afdelinger:

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

Resultatet af denne forespørgsel vil være det samme som den første forespørgsel.

Her er en trinvis gennemgang:

  1. Indre forespørgsel henter names på de afdelinger, vi har brug for;

  2. WHERE-klausulen kontrollerer, om disse afdelinger findes i tabellen fra den indre forespørgsel;

  3. Vi får det ønskede resultat.

Her er den grundlæggende syntaks for en indre forespørgsel:

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

Ved brug af indlejrede forespørgsler bør følgende vigtige punkter overvejes:

  1. Enkelt resultat i underforespørgsel: sikr, at den indlejrede forespørgsel kun returnerer én kolonne. Hvis den bruges i en sammenligning, bør den ideelt set returnere én værdi. Dette er afgørende for operatorer som =, >, <, >=, <=, <>;

  2. Datatyper: datatypen for den returnerede kolonne skal matche den kolonne, du sammenligner med, for at undgå fejl;

  3. Optimering: indlejrede forespørgsler kan være langsomme, især hvis de udføres for hver række i hovedforespørgslen;

  4. Brug af IN-operatoren: indlejrede forespørgsler anvender ofte IN-operatoren til at kontrollere værdier i et delmængde. Du kan også bruge sammenligningsoperatorer til mere komplekse betingelser.

1. Hvad er en indlejret forespørgsel i SQL?

2. Hvilken SQL-operator bruges ofte sammen med indlejrede forespørgsler til at kontrollere værdier i en delmængde?

3. Hvorfor er det vigtigt, at datatypen for kolonnen, der returneres af en indlejret forespørgsel, matcher kolonnen, den sammenlignes med?

question mark

Hvad er en indlejret forespørgsel i SQL?

Select the correct answer

question mark

Hvilken SQL-operator bruges ofte sammen med indlejrede forespørgsler til at kontrollere værdier i en delmængde?

Select the correct answer

question mark

Hvorfor er det vigtigt, at datatypen for kolonnen, der returneres af en indlejret forespørgsel, matcher kolonnen, den sammenlignes med?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 1

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

bookIndlejrede Forespørgsler

Stryg for at vise menuen

Skoleadministrationen er tilfreds med vores seneste resultater og ser frem til at fortsætte.

Da de påbegynder deres sommerferie, har vi mulighed for at undersøge nye metoder og forbedre vores SQL-færdigheder.

Vores fokus vil være på indlejrede forespørgsler, et centralt begreb i SQL.

Note
Definition

Indlejrede forespørgsler, eller indlejrede subforespørgsler, er integrerede komponenter i SQL, hvor en forespørgsel er placeret inden i en anden forespørgsel. Disse konstruktioner muliggør forskellige operationer såsom datafiltrering, beregning og hentning, hvilket ofte kræver integration af subforespørgsler.

Lad os se på et eksempel fra vores virksomheds database. Efterhånden som virksomheden vokser, har vi tilføjet en ny department-tabel. Dette ændrer, hvordan vores database fungerer.

Lad os undersøge den nye tabels struktur for at se dens rolle i vores database:

Den nye tabel indeholder afdelinger, deres typer og budgetter. Og i employee-tabellen, som du måske husker, findes der information om hvilken afdeling hver medarbejder tilhører.

Lad os se på et eksempel, hvor vi bruger indlejrede forespørgsler til at hente de medarbejdere, der arbejder i afdelinger med budgetter på $500.000 eller mindre:

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

Vi bruger en WHERE-klausul til at angive, at afdelingsnavnet skal være til stede i den tabel, vi henter med den indre forespørgsel.

Lad os opdele denne forespørgsel i to separate forespørgsler for at se, hvordan den fungerer. Først henter vi navnene på afdelinger med budgetter på $500.000 eller mindre (vores indre forespørgsel):

123
SELECT name FROM department WHERE budget <= 500000
copy

Nu, med det opnåede resultat, skriver vi den anden forespørgsel for at hente oplysninger om medarbejderne fra disse afdelinger:

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

Resultatet af denne forespørgsel vil være det samme som den første forespørgsel.

Her er en trinvis gennemgang:

  1. Indre forespørgsel henter names på de afdelinger, vi har brug for;

  2. WHERE-klausulen kontrollerer, om disse afdelinger findes i tabellen fra den indre forespørgsel;

  3. Vi får det ønskede resultat.

Her er den grundlæggende syntaks for en indre forespørgsel:

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

Ved brug af indlejrede forespørgsler bør følgende vigtige punkter overvejes:

  1. Enkelt resultat i underforespørgsel: sikr, at den indlejrede forespørgsel kun returnerer én kolonne. Hvis den bruges i en sammenligning, bør den ideelt set returnere én værdi. Dette er afgørende for operatorer som =, >, <, >=, <=, <>;

  2. Datatyper: datatypen for den returnerede kolonne skal matche den kolonne, du sammenligner med, for at undgå fejl;

  3. Optimering: indlejrede forespørgsler kan være langsomme, især hvis de udføres for hver række i hovedforespørgslen;

  4. Brug af IN-operatoren: indlejrede forespørgsler anvender ofte IN-operatoren til at kontrollere værdier i et delmængde. Du kan også bruge sammenligningsoperatorer til mere komplekse betingelser.

1. Hvad er en indlejret forespørgsel i SQL?

2. Hvilken SQL-operator bruges ofte sammen med indlejrede forespørgsler til at kontrollere værdier i en delmængde?

3. Hvorfor er det vigtigt, at datatypen for kolonnen, der returneres af en indlejret forespørgsel, matcher kolonnen, den sammenlignes med?

question mark

Hvad er en indlejret forespørgsel i SQL?

Select the correct answer

question mark

Hvilken SQL-operator bruges ofte sammen med indlejrede forespørgsler til at kontrollere værdier i en delmængde?

Select the correct answer

question mark

Hvorfor er det vigtigt, at datatypen for kolonnen, der returneres af en indlejret forespørgsel, matcher kolonnen, den sammenlignes med?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 1
some-alt