===== 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.