# 5.4 SQL-Reihenfolge

**Definition**

Die **SQL-Reihenfolge** beschreibt, in welcher Reihenfolge SQL-Klauseln in einer Abfrage geschrieben werden.

---

**Schreibreihenfolge**

```sql
SELECT spalte
FROM tabelle
WHERE bedingung
GROUP BY spalte
HAVING gruppenbedingung
ORDER BY spalte;
```

---

**Bedeutung**

| Klausel | Aufgabe |
|--------|---------|
| SELECT | legt fest, welche Spalten ausgegeben werden |
| FROM | legt fest, aus welcher Tabelle gelesen wird |
| WHERE | filtert einzelne Datensätze |
| GROUP BY | gruppiert Datensätze |
| HAVING | filtert Gruppen |
| ORDER BY | sortiert das Ergebnis |

---

**Wichtige Reihenfolge**

1. SELECT
2. FROM
3. WHERE
4. GROUP BY
5. HAVING
6. ORDER BY

---

**Beispiel**

```sql
SELECT ort, COUNT(*)
FROM kunde
WHERE aktiv = 1
GROUP BY ort
HAVING COUNT(*) > 5
ORDER BY ort;
```

---

**Merksatz**

WHERE kommt vor GROUP BY.  
HAVING kommt nach GROUP BY.  
ORDER BY steht am Ende.

---

**Prüfungshinweis**

In IHK-Aufgaben wird häufig geprüft, ob SQL-Klauseln in der richtigen Reihenfolge verwendet werden.

Typische Fehler:

- WHERE nach GROUP BY schreiben.
- HAVING vor GROUP BY schreiben.
- ORDER BY vor WHERE schreiben.
- Aggregatfunktionen in WHERE verwenden.
- GROUP BY und ORDER BY verwechseln.

---

**Quellen**

- IT-Handbuch für Fachinformatiker