FAGPORTALEN

SQL DML — SELECT/WHERE/ORDER BY/GROUP BY/HAVING

It A · STX · A-niveau · Databaser og datamodellering

💻 SQL DML — SELECT/WHERE/ORDER BY/GROUP BY/HAVING

DML (Data Manipulation Language) arbejder med data. SELECT med klausuler:

```sql

SELECT k.klassenavn, COUNT(e.id) AS antal, AVG(e.alder) AS snit_alder

FROM elev e

INNER JOIN klasse k ON e.klasse_id = k.id

WHERE e.alder >= 16

GROUP BY k.klassenavn

HAVING COUNT(e.id) > 5

ORDER BY snit_alder DESC

LIMIT 10;

```

JOIN-typer: INNER JOIN (kun matches), LEFT JOIN (alle fra venstre + matches), RIGHT JOIN, FULL OUTER JOIN, CROSS JOIN (kartesisk produkt).

Subforespørgsler (subqueries): SELECT navn FROM elev WHERE alder = (SELECT MAX(alder) FROM elev).

CTEs (Common Table Expressions): WITH ... AS (SELECT ...) — forbedrer læsbarhed.

Window functions: ROW_NUMBER() OVER (PARTITION BY klasse_id ORDER BY alder) — avanceret analyse.

INSERT: INSERT INTO elev (navn, alder) VALUES ('Jonas', 17).

UPDATE: UPDATE elev SET alder = 18 WHERE id = 5.

DELETE: DELETE FROM elev WHERE alder < 0.

ACID-transaktioner: BEGIN TRANSACTION; ... COMMIT; eller ROLLBACK;.

Læringsmål

Sådan kan du arbejde med emnet

Arbejd iterativt med prototyper og dokumentation. Test, evaluér og dokumentér.

Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.

Prøv Fagportalen gratis

🤖 Denne side er skrevet med kunstig intelligens og fagligt gennemgået af Fagportalen, som har det redaktionelle ansvar. Finder du en fejl, så skriv til support@fagportalen.dk.