JOIN (INNER/LEFT/RIGHT), subforespørgsler
Kommunikation og IT A · HTX · A-niveau · Databaser og datamodellering
💻 SQL JOIN og subforespørgsler
JOIN kombinerer rækker fra to eller flere tabeller baseret på en fælles kolonne.
```sql
-- INNER JOIN: kun rækker der matcher i BEGGE tabeller
SELECT K.Navn, O.OrdreID, O.Dato
FROM Kunde K
INNER JOIN Ordre O ON K.KundeID = O.KundeID;
-- LEFT JOIN: alle rækker fra venstre tabel + matches fra højre
SELECT K.Navn, COUNT(O.OrdreID) AS AntalOrdrer
FROM Kunde K
LEFT JOIN Ordre O ON K.KundeID = O.KundeID
GROUP BY K.KundeID;
-- Viser ALLE kunder, inkl. dem der aldrig har bestilt
-- Subforespørgsel
SELECT Navn FROM Kunde
WHERE KundeID IN (
SELECT KundeID FROM Ordre
WHERE Dato > '2024-06-01'
);
```
INNER JOIN: snit (kun matches). LEFT JOIN: alle fra venstre. RIGHT JOIN: alle fra højre. FULL OUTER JOIN: alle fra begge.
Læringsmål
- Skrive INNER JOIN og LEFT JOIN forespørgsler korrekt
- Forklare forskellen mellem join-typerne visuelt med Venn-diagram
- Anvende subforespørgsler til filtrering og beregning
- Beslutte hvornår JOIN vs. subforespørgsel er bedst
Sådan kan du arbejde med emnet
- Skriv en INNER JOIN mellem tabellerne Ordrer og Kunder
- Forklar forskellen mellem INNER JOIN og LEFT JOIN med et eksempel
- Skriv en subforespørgsel der finder den dyreste vare i en tabel
Træningsforslag
- Hent alle produkter i en bestemt kategori med JOIN
- Find kunder der IKKE har afgivet en ordre med LEFT JOIN + IS NULL
- Løs SQLZoo's JOIN-opgaver (sqlzoo.net)
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis