Fach: Informatik - Jan-Gerd Tenberge
Fach: Informatik - Jan-Gerd Tenberge
Fach: Informatik - Jan-Gerd Tenberge
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
• Sie können auf eine Spalte als spalten_name verweisen, als<br />
tabelle.spalten_name oder als datenbank.tabelle.spalten_name. Sie<br />
müssen das tabelle- oder datenbank.tabelle-Präfix für einen Spaltenverweis<br />
in einem SELECT-Statement nicht angeben, es sei denn, der Verweis wäre<br />
ansonsten mehrdeutig. Sie Abschnitt 7.1.2, „Datenbank-, Tabellen-, Index-,<br />
Spalten- und Alias-Namen“; hier finden sich Beispiele von Mehrdeutigkeit, die<br />
erfordern, dass Sie ausführlichere Spaltenverweis-Formen benutzen.<br />
• Einem Tabellenverweis kann mit tabelle [AS] alias_name ein Tabellen-<br />
Alias zugewiesen werden:<br />
• mysql> select t1.name, t2.gehalt from angestellte AS t1, info<br />
AS t2<br />
• where t1.name = t2.name;<br />
• mysql> select t1.name, t2.gehalt from angestellte t1, info t2<br />
• where t1.name = t2.name;<br />
• Auf Spalten, die für die Ausgabe ausgewählt wurden, kann in ORDER BY- und<br />
GROUP BY-Klauseln mit Spaltennamen, Spalten-Aliasen oder Spaltenpositionen<br />
verwiesen werden. Spaltenpositionen fangen mit 1 an:<br />
• mysql> select hochschule, region, seed von tournament<br />
• ORDER BY region, seed;<br />
• mysql> select hochschule, region AS r, seed AS s from turnier<br />
• ORDER BY r, s;<br />
• mysql> select hochschule, region, seed from turnier<br />
• ORDER BY 2, 3;<br />
Um in absteigender Reihenfolge zu sortieren, fügen Sie dem Namen der Spalte<br />
das DESC-Schlüsselwort in the ORDER BY-Klausel hinzu (descending,<br />
absteigend), nach der Sie sortieren. Die Vorgabe ist aufsteigende Reihenfolge.<br />
Das können Sie auch explizit angeben, indem Sie das ASC-Schlüsselwort<br />
verwenden.<br />
• In der WHERE-Klausel können Sie beliebige Funktionen verwenden, die MySQL<br />
unterstützt. See Abschnitt 7.3, „Funktionen für die Benutzung in SELECT- und<br />
WHERE-Klauseln“.<br />
• Die HAVING-Klausel kann auf jede Spalte oder jeden Alias verweisen, die bzw.<br />
der im select_ausdruck genannt wurde. Die Klausel wird zuletzt angewandt,<br />
direkt bevor Ergebnisse an den Client geschickt werden, ohne jede Optimierung.<br />
Benutzen Sie kein HAVING für Dinge, die in der WHERE-Klausel stehen sollten.<br />
Schreiben Sie beispielsweise nicht folgendes:<br />
• mysql> select spalten_name from tabelle HAVING spalten_name ><br />
0;<br />
Sondern statt dessen:<br />
mysql> select spalten_name from tabelle WHERE spalten_name > 0;<br />
Ab MySQL-Version 3.22.5 können Sie Anfragen auch wie folgt schreiben:<br />
mysql> select user,max(gehalt) from benutzer<br />
group by benutzer HAVING max(gehalt)>10;<br />
In älteren MySQL-Versionen schreiben Sie statt dessen:<br />
27