opendocks:oracle-sql-nutshell-doku:nutshell-doku-03
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| opendocks:oracle-sql-nutshell-doku:nutshell-doku-03 [2026/04/08 18:24] – [Filter Funktion] heiko | opendocks:oracle-sql-nutshell-doku:nutshell-doku-03 [2026/04/15 15:34] (aktuell) – heiko | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Aggregationen ====== | ====== Aggregationen ====== | ||
| + | |||
| ===== Group-Funktionen ===== | ===== Group-Funktionen ===== | ||
| Auch Aggregatfunktionen genannt, berechnen einen einzigen Wert aus einer Menge von Zeilen. | Auch Aggregatfunktionen genannt, berechnen einen einzigen Wert aus einer Menge von Zeilen. | ||
| - | ^Funktion^Beschreibung^ | + | ^ Funktion ^ Beschreibung ^ |
| - | |'' | + | | '' |
| - | |'' | + | | '' |
| - | |'' | + | | '' |
| - | |'' | + | | '' |
| - | |'' | + | | '' |
| - | |'' | + | | '' |
| - | |'' | + | | '' |
| - | |'' | + | | '' |
| - | |'' | + | | '' |
| **Wichtig!** | **Wichtig!** | ||
| Zeile 35: | Zeile 36: | ||
| ===== Filter Funktion ===== | ===== Filter Funktion ===== | ||
| - | '' | + | '' |
| - | Dabei ist es möglich Aggregatfunktionen einzusetzen.\\ | + | Dabei ist es möglich, Aggregatfunktionen einzusetzen. \\ |
| Beispiel: | Beispiel: | ||
| <code sql> | <code sql> | ||
| Zeile 47: | Zeile 48: | ||
| </ | </ | ||
| + | ===== WICHTIG! Reihenfolge der Abarbeitung eines Querys ===== | ||
| + | SQL-Klauseln werden in einer festgelegten **logischen Reihenfolge** abgearbeitet: | ||
| + | < | ||
| + | FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY | ||
| + | </ | ||
| + | |||
| + | Damit wäre der folgende Query **falsch**: | ||
| + | <code sql> | ||
| + | SELECT last_name, salary, | ||
| + | | ||
| + | FROM employees | ||
| + | WHERE rn <= 10; -- ORA-00904: " | ||
| + | </ | ||
| + | '' | ||
| + | Damit der Query läuft, muss man sich als Workaround die Tatsache zu eigen machen, dass geklammerte Querys immer von innen nach außen berechnet werden. \\ | ||
| + | Beispiel: | ||
| + | <code sql> | ||
| + | SELECT last_name, salary | ||
| + | FROM ( | ||
| + | SELECT last_name, salary, | ||
| + | | ||
| + | FROM employees | ||
| + | ) | ||
| + | WHERE rn <= 10; | ||
| + | </ | ||
| + | |||
| + | **Dasselbe Problem gilt übrigens auch für** '' | ||
| + | |||
| + | [[opendocks: | ||
opendocks/oracle-sql-nutshell-doku/nutshell-doku-03.1775665472.txt.gz · Zuletzt geändert: 2026/04/08 18:24 von heiko
