===== Datenbankabfragen =====
Zur Abfrage aller Datensätze einer Tabelle wird der SQL-Befehl
SELECT * FROM ;
* **SELECT** = selektieren von Datensätzen
* * = alle Spalten der Tabelle
* **FROM ** = spezifiziert die zu verwendende Tabelle eventuell mit Angabe der Datenbank
Die Angabe der Datenbank ist dann erforderlich, wenn der Fokus
auf eine andere Datenbank und Tabelle gesetzt ist.
=== Beispiel ===
Fokus: Datenbank Kunde
Aufgabe: Abfrage aller Daten in der Tabelle adresse der Datenbank //werkstatt//
SELECT * FROM `werkstatt`.`adresse`;
==== Einschränkung auf bestimmte Spalten ====
* * = wählt alle Spalten aus
* **** = wählt die Spalte mit der Bezeichnung Spaltenname aus
Mehrere Spalten werden durch Kommata getrennt.
=== Beispiel ===
SELECT vorname, nachname, geburtsdatum FROM `kunde`,`adresse`;
Es werden alle Datensätze der Datenbank //kunde// und Tabelle //adresse// aus den Spalten //vorname//, //nachname// und //geburtsdatum// ausgegeben.
Die Spaltenüberschrift entspricht dem Spaltenname.
Hat zum Beispiel die Spalte eine kryptische Bezeichnung (z.B. //adrvn// für Adresse-Vorname), kann ein Alias über den Zusatz AS eingefügt werden. Der Aliasname kann an vielen Stellen auch in der weiteren Formulierung eines SQL-Statements eingesetzt werden.
SELECT adrvn AS vorname FROM `kunde`.`adresse`;
Der Aliasname erscheint dann auch in der Ausgabe als Spaltenname.
Die Reihenfolge der Spaltenwerte entspricht der Reihenfolge im SQL-Statement.
==== Unterschiedliche Spaltenwerte ====
**Beispiel:** Wie viele unterschiedliche Anreden enthält die Spalte `//anrede//`?
SELECT DISTINCT anrede FROM `kunde`.`anrede`;
Es werden aus der Spalte anrede der Tabelle adresse in der Datenbank kunde alle unterschiedlichen Werte ausgegeben.
==== Sortierung ====
Durch die Option **ORDER BY** kann das Ergebnis einer Abfrage sortiert werden.
Die Sortierung erfolgt gemäß der eingestellten Kollation.