| PostgreSQL: Das Offizielle Handbuch | ||||
|---|---|---|---|---|
| Zurück | Schnell zurück | Schnell nach vorne | Nach vorne | |
Die vorangegangenen Kapitel haben erklärt, wie man Tabellen erzeugt, sie mit Daten füllt und diese Daten manipulieren kann. Jetzt besprechen wir endlich, wie man diese Daten wieder aus der Datenbank auslesen kann.
Den Vorgang oder der Befehl, Daten aus der Datenbank auszulesen, nennt man eine Anfrage (englisch query). In SQL wird der Befehl SELECT dazu verwendet, Anfragen zu formulieren. Die allgemeine Syntax des SELECT-Befehls ist
SELECT select_liste FROM tabellen_ausdruck [sortierung]Die folgenden Abschnitte beschreiben die Select-Liste, den Tabellenausdruck und die Sortierangabe im Einzelnen.
Die einfachste Anfrage hat die Form
SELECT * FROM tabelle1;
Vorausgesetzt es gibt eine Tabelle namens tabelle1, ergibt dieser Befehl alle Zeilen und alle Spalten aus tabelle1. (Die genaue Art und Weise der Ergebnisausgabe hängt von der Clientanwendung ab. Das psql-Programm gibt die Tabelle zum Beispiel mit ASCII-Zeichen aus und Clientbibliotheken bieten Funktionen an, um auf einzelne Zeilen und Spalten zuzugreifen.) Eine Select-Liste, die nur aus * besteht, steht für alle Spalten, die der Tabellenausdruck gerade zur Verfügung stellt. Eine Select-Liste kann auch nur einige der verfügbaren Spalten auswählen oder mit den Spalten Berechnungen vornehmen. Wenn zum Beispiel tabelle1 Spalten namens a, b und c hat (und möglicherweise noch weitere), dann können Sie die folgende Anfrage durchführen:
SELECT a, b + c FROM tabelle1;
(vorausgesetzt, dass b und c einen Zahlentyp haben). Einzelheiten finden Sie in Abschnitt 7.3.
FROM table1 ist ein besonders einfacher Tabellenausdruck: Er liest nur aus einer Tabelle. Prinzipiell können Tabellenausdrücke komplexe Konstruktionen aus Basistabellen, Verbunde und Unteranfragen sein. Sie können den Tabellenausdruck auch ganz auslassen und den SELECT-Befehl als Taschenrechner verwenden:
SELECT 3 * 4;
Das ist aber sinnvoller, wenn die Ausdrücke in der Select-Liste veränderliche Ergebnisse haben. Sie könnten auf diese Art zum Beispiel eine Funktion aufrufen:
SELECT random();
| Zurück | Zum Anfang | Nach vorne |
| Daten löschen | Nach oben | Tabellenausdrücke |