Logo Wand.Tools

SQL Subquery Generator

Brug AI til at generere indlejrede SQL-forespørgsler til komplekse dataoperationer

SQL Underforespørgsel vejledning

SQL Underforespørgsel Vejledning

Introduktion

En underforespørgsel, også kendt som en intern forespørgsel eller indlejret forespørgsel, er en forespørgsel inden for en anden SQL-forespørgsel. Underforespørgsler bruges til at udføre operationer, der kræver flere trin, såsom filtrering, beregninger eller hentning af data fra flere tabeller.

Grundlæggende syntaks

Den grundlæggende syntaks for en underforespørgsel er som følger:

SELECT kolonnenavn(e)
FROM tabellnavn
WHERE kolonnenavn OPERATOR (SELECT kolonnenavn FROM tabellnavn WHERE betingelse);

Typer af underforespørgsler

  1. Enkelt-række underforespørgsel: Returnerer kun én række.
  2. Flere-rækker underforespørgsel: Returnerer mere end én række.
  3. Korreleret underforespørgsel: En underforespørgsel, der afhænger af den ydre forespørgsel.

Eksempler

Eksempel 1: Enkelt-række underforespørgsel

SELECT medarbejdernavn, løn
FROM medarbejdere
WHERE løn > (SELECT AVG(løn) FROM medarbejdere);

Eksempel 2: Flere-rækker underforespørgsel

SELECT medarbejdernavn, afdelingsID
FROM medarbejdere
WHERE afdelingsID IN (SELECT afdelingsID FROM afdelinger WHERE lokationsID = 1700);

Eksempel 3: Korreleret underforespørgsel

SELECT medarbejdernavn, løn
FROM medarbejdere e1
WHERE løn > (SELECT AVG(løn) FROM medarbejdere e2 WHERE e1.afdelingsID = e2.afdelingsID);

Bedste praksis

  • Brug underforespørgsler, når du skal udføre komplekse operationer, der ikke kan udføres med en enkelt forespørgsel.
  • Sørg for, at underforespørgsler er optimeret til ydeevne, især i store datasæt.
  • Brug EXISTS eller NOT EXISTS til at kontrollere eksistensen af rækker i en underforespørgsel.

Konklusion

Underforespørgsler er et kraftfuldt værktøj i SQL, der giver dig mulighed for at udføre komplekse datahentninger og manipulationer. Ved at forstå og bruge underforespørgsler effektivt kan du forbedre dine SQL-forespørgsler og dine databaseadministrationsfærdigheder.