Benutzer-Werkzeuge

Webseiten-Werkzeuge


it-themen:allgemein:sql_spickzettel

**Dies ist eine alte Version des Dokuments!**

dokuwiki ====== SQL-Spickzettel ====== Dieser Spickzettel fasst die wichtigsten SQL-Grundbefehle und deren Reihenfolge zusammen. Er eignet sich ideal zur Prüfungsvorbereitung (AP1 / AP2) und als tägliche Referenz. ---- ===== Grundstruktur ===== Die Standard-Struktur einer SQL-Abfrage folgt immer derselben Reihenfolge: ```sql SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... LIMIT ...;

Merke: Wenn du die Struktur immer vollständig aufschreibst, kannst du danach Schritt für Schritt alles ergänzen und Unnötiges streichen.


SchlĂĽsselbefehle im Ăśberblick

SchlĂĽsselwort Bedeutung Beispiel
SELECT Welche Spalten angezeigt werden SELECT name, preis
FROM Aus welcher Tabelle die Daten kommen FROM produkte
WHERE Filtert Zeilen vor der Gruppierung WHERE lagerbestand > 100
GROUP BY Gruppiert gleiche Werte GROUP BY kategorie
HAVING Filtert nach der Gruppierung HAVING AVG(preis) > 50
ORDER BY Sortiert die Ausgabe ORDER BY preis DESC
LIMIT Begrenzt die Zeilenanzahl LIMIT 10

Beispiel 1 – Einfache Abfrage

**Aufgabe:**Namen und Preise aller Produkte mit Lagerbestand > 100, nach Preis absteigend sortiert, max. 10 Einträge.

sql SELECT name, preis FROM produkte WHERE lagerbestand > 100 ORDER BY preis DESC LIMIT 10;

Erklärung:

  • WHERE filtert nur Zeilen mit Lagerbestand ĂĽber 100.
  • ORDER BY preis DESC sortiert die Ausgabe absteigend.
  • LIMIT 10 zeigt nur die ersten 10 Ergebnisse an.

Beispiel 2 – Gruppierte Auswertung

**Aufgabe:**Pro Kategorie den Durchschnittspreis fĂĽr Produkte mit Lagerbestand > 100 berechnen.Nur Kategorien mit einem Durchschnittspreis > 50 anzeigen, absteigend sortiert, max. 10 Ergebnisse.

sql SELECT kategorie, AVG(preis) AS durchschnittspreis FROM produkte WHERE lagerbestand > 100 GROUP BY kategorie HAVING AVG(preis) > 50 ORDER BY durchschnittspreis DESC LIMIT 10;

Erklärung:

  • AVG(preis) berechnet den Durchschnittspreis je Kategorie.
  • GROUP BY kategorie fasst Produkte derselben Kategorie zusammen.
  • HAVING filtert nur Gruppen mit Durchschnitt > 50.
  • Das Alias durchschnittspreis kann in ORDER BY wiederverwendet werden.

Unterschied: WHERE vs. HAVING

Vergleichspunkt WHERE HAVING
Zeitpunkt Vor der Gruppierung Nach der Gruppierung
Filtert Einzelne Datensätze Gruppenergebnisse
Beispiel WHERE preis > 50 HAVING AVG(preis) > 50

Merksatz:

„WHERE prüft Datensätze, HAVING prüft Gruppen.“

—

Wichtige Aggregatfunktionen

Funktion Beschreibung Beispiel
COUNT() Zählt Datensätze

* „GROUP BY fasst, HAVING prüft, ORDER BY sortiert.“ * „COUNT zählt, AVG mittelt, SUM addiert.“ * „Ohne WHERE = alles.“ * „Immer mit Semikolon abschließen.“


PrĂĽfungstipp

SQL in Ruhe logisch lesen:

  1. FROM – welche Tabelle(n)?
  2. WHERE – welche Bedingungen?
  3. GROUP BY – wie gruppieren?
  4. HAVING – was bleibt übrig?
  5. ORDER BY – wie sortieren?
  6. LIMIT – wie viele Zeilen?

Stand: date Quelle: Eigene Zusammenfassung nach Lernunterlagen / SQL.pdf

```

it-themen/allgemein/sql_spickzettel.1759744162.txt.gz · Zuletzt geändert: von lars