SQL DML — SELECT/WHERE/ORDER BY/GROUP BY/HAVING
Kommunikation og IT A · HTX · A-niveau · Databaser og datamodellering
💻 SQL DML — datahentning
DML (Data Manipulation Language) henter og ændrer data.
```sql
-- Grundlæggende SELECT
SELECT Navn, Email FROM Kunde WHERE KundeID = 5;
-- Filtrering med WHERE
SELECT * FROM Ordre
WHERE Dato >= '2024-01-01' AND Status = 'Betalt';
-- Sortering
SELECT Navn, Alder FROM Elev
ORDER BY Alder DESC, Navn ASC;
-- Gruppering
SELECT KundeID, COUNT(*) AS AntalOrdrer
FROM Ordre
GROUP BY KundeID
HAVING COUNT(*) > 3; -- filtrer EFTER gruppering
-- INSERT, UPDATE, DELETE
INSERT INTO Kunde (Navn, Email) VALUES ('Alice', 'alice@mail.dk');
UPDATE Kunde SET Email = 'ny@mail.dk' WHERE KundeID = 1;
DELETE FROM Ordre WHERE Status = 'Annulleret';
```
WHERE vs. HAVING: WHERE filtrerer rækker før gruppering. HAVING filtrerer grupper efter GROUP BY.
Læringsmål
- Skrive komplekse SELECT-forespørgsler med WHERE, ORDER BY og GROUP BY
- Forstå forskellen på WHERE og HAVING
- Udføre INSERT, UPDATE og DELETE korrekt
- Analysere og optimere langsomme forespørgsler
Sådan kan du arbejde med emnet
- Skriv en SELECT-forespørgsel der finder alle elever i 2.g sorteret efter navn
- Brug GROUP BY og HAVING til at finde klasser med flere end 25 elever
- Forklar rækkefølgen forespørgslen udføres i (FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY)
Træningsforslag
- Skriv 20 SQL-forespørgsler mod et givet datasæt (fx Northwind)
- Brug SQLiteOnline.com til at øve SQL uden installation
- Tag SQLBolt.com's interaktive SQL-kursus
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis