15.07.2013 Aufrufe

Fach: Informatik - Jan-Gerd Tenberge

Fach: Informatik - Jan-Gerd Tenberge

Fach: Informatik - Jan-Gerd Tenberge

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!