it-themen:allgemein:sql_spickzettel
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| it-themen:allgemein:sql_spickzettel [06.10.2025 11:50] – lars | it-themen:allgemein:sql_spickzettel [06.10.2025 12:10] (aktuell) – [Joins (Überblick)] lars | ||
|---|---|---|---|
| Zeile 18: | Zeile 18: | ||
| ORDER BY ... | ORDER BY ... | ||
| LIMIT ...; | LIMIT ...; | ||
| - | ```` | + | ``` |
| **Merke:** | **Merke:** | ||
| Zeile 40: | Zeile 40: | ||
| ===== Beispiel 1 – Einfache Abfrage ===== | ===== Beispiel 1 – Einfache Abfrage ===== | ||
| - | > **Aufgabe: | + | **Aufgabe: |
| - | > Namen und Preise aller Produkte mit Lagerbestand > 100, nach Preis absteigend sortiert, max. 10 Einträge. | + | > Namen und Preise aller Produkte mit Lagerbestand > 100, nach Preis absteigend sortiert, max. 10 Einträge. |
| ```sql | ```sql | ||
| Zeile 53: | Zeile 54: | ||
| **Erklärung: | **Erklärung: | ||
| - | * `WHERE` filtert nur Zeilen mit Lagerbestand über 100. | + | |
| - | * `ORDER BY preis DESC` sortiert die Ausgabe absteigend. | + | * `ORDER BY preis DESC` sortiert die Ausgabe absteigend. |
| - | * `LIMIT 10` zeigt nur die ersten 10 Ergebnisse an. | + | * `LIMIT 10` zeigt nur die ersten 10 Ergebnisse an. |
| --- | --- | ||
| Zeile 61: | Zeile 62: | ||
| ===== Beispiel 2 – Gruppierte Auswertung ===== | ===== Beispiel 2 – Gruppierte Auswertung ===== | ||
| - | > **Aufgabe: | + | **Aufgabe: |
| > Pro Kategorie den Durchschnittspreis fĂĽr Produkte mit Lagerbestand > 100 berechnen. | > Pro Kategorie den Durchschnittspreis fĂĽr Produkte mit Lagerbestand > 100 berechnen. | ||
| > Nur Kategorien mit einem Durchschnittspreis > 50 anzeigen, absteigend sortiert, max. 10 Ergebnisse. | > Nur Kategorien mit einem Durchschnittspreis > 50 anzeigen, absteigend sortiert, max. 10 Ergebnisse. | ||
| + | |||
| ```sql | ```sql | ||
| Zeile 86: | Zeile 88: | ||
| ===== Unterschied: | ===== Unterschied: | ||
| - | ^ Vergleichspunkt | + | ^ Vergleichspunkt |
| | **Zeitpunkt** | Vor der Gruppierung | Nach der Gruppierung | | | **Zeitpunkt** | Vor der Gruppierung | Nach der Gruppierung | | ||
| | **Filtert** | | **Filtert** | ||
| Zeile 95: | Zeile 97: | ||
| > „WHERE prüft Datensätze, | > „WHERE prüft Datensätze, | ||
| - | --- | + | Â |
| + | ---- | ||
| ===== Wichtige Aggregatfunktionen ===== | ===== Wichtige Aggregatfunktionen ===== | ||
| - | ^ Funktion | + | Â |
| - | | **COUNT()** | Zählt Datensätze | COUNT(*) | | + | ^ Funktion |
| + | | **COUNT()** | Zählt Datensätze | %%COUNT(*)%% | | ||
| | **SUM()** | | **SUM()** | ||
| | **AVG()** | | **AVG()** | ||
| | **MIN()** | | **MIN()** | ||
| | **MAX()** | | **MAX()** | ||
| + | |||
| **Hinweis: | **Hinweis: | ||
| + | |||
| Aggregatfunktionen kannst du nur in Verbindung mit `GROUP BY` oder zur Gesamtauswertung nutzen. | Aggregatfunktionen kannst du nur in Verbindung mit `GROUP BY` oder zur Gesamtauswertung nutzen. | ||
| - | --- | + | Â |
| + | ---- | ||
| ===== Sortierung ===== | ===== Sortierung ===== | ||
| + | |||
| ```sql | ```sql | ||
| Zeile 117: | Zeile 125: | ||
| ``` | ``` | ||
| - | ^ Parameter | + | Â |
| + | ^ Parameter | ||
| | **ASC** | Aufsteigend (Standard) | | | **ASC** | Aufsteigend (Standard) | | ||
| | **DESC** | Absteigend | | | **DESC** | Absteigend | | ||
| Zeile 133: | Zeile 142: | ||
| ===== LIMIT & OFFSET ===== | ===== LIMIT & OFFSET ===== | ||
| - | | Befehl | + | ^ Befehl |
| | ---------- | ------------------------------------ | | | ---------- | ------------------------------------ | | ||
| | `LIMIT n` | Zeigt nur n Zeilen an | | | `LIMIT n` | Zeigt nur n Zeilen an | | ||
| Zeile 165: | Zeile 174: | ||
| ===== Joins (Ăśberblick) ===== | ===== Joins (Ăśberblick) ===== | ||
| - | | Join-Typ | + | ^ Join-Typ |
| - | | -------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------- | + | | -------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------- |
| | **INNER JOIN** | Nur passende Datensätze beider Tabellen | | **INNER JOIN** | Nur passende Datensätze beider Tabellen | ||
| | **LEFT JOIN** | | **LEFT JOIN** | ||
| Zeile 175: | Zeile 184: | ||
| > „INNER = nur Treffer, LEFT = alles links + Treffer, RIGHT = alles rechts + Treffer.“ | > „INNER = nur Treffer, LEFT = alles links + Treffer, RIGHT = alles rechts + Treffer.“ | ||
| + | |||
| --- | --- | ||
| Zeile 200: | Zeile 210: | ||
| ``` | ``` | ||
| - | --- | + | ---- |
| ===== Mini-Merksätze ===== | ===== Mini-Merksätze ===== | ||
| Zeile 210: | Zeile 220: | ||
| * „Immer mit Semikolon abschließen.“ | * „Immer mit Semikolon abschließen.“ | ||
| - | --- | + | ---- |
| ===== PrĂĽfungstipp ===== | ===== PrĂĽfungstipp ===== | ||
| Zeile 223: | Zeile 233: | ||
| --- | --- | ||
| - | |||
| - | **Stand:** {{date}} | ||
| - | **Quelle:** Eigene Zusammenfassung nach Lernunterlagen / SQL.pdf | ||
| - | |||
| - | ``` | ||
it-themen/allgemein/sql_spickzettel.1759744223.txt.gz · Zuletzt geändert: von lars