Abfragen schreiben
Eine SQL-Datei kann viele Anweisungen enthalten, und jede endet mit einem Semikolon. Eine Abfrage ist eine Art von Anweisung; später lernst du Anweisungen kennen, die Daten hinzufügen, ändern und löschen. Die Datenbank führt sie nacheinander von oben nach unten aus, und die Ergebnisse kommen in derselben Reihenfolge.
Leerzeichen und Zeilenumbrüche spielen in SQL keine Rolle. Diese drei Abfragen sind gleich:
SELECT titel, genre, preis FROM spiele;
SELECT titel, genre, preis
FROM spiele;
SELECT titel,
genre,
preis
FROM spiele;Kurze Abfragen passen in eine Zeile. Bei längeren setzen Programmierer jeden Teil in eine eigene Zeile: SELECT mit den Spalten in die erste, FROM mit der Tabelle in die nächste. Bald fügst du weitere Teile hinzu, und auch jeder bekommt eine eigene Zeile, was Abfragen viel leichter lesbar macht.
SQL ist es egal, ob du seine Schlüsselwörter wie SELECT und FROM groß- oder kleinschreibst: select titel from spiele; funktioniert auch. Trotzdem schreiben Programmierer Schlüsselwörter meist groß und die Namen von Tabellen und Spalten klein, damit man auf den ersten Blick sieht, welches Wort was ist. Das machen wir in diesem Kurs auch so.
Typischer Fehler: ein fehlendes Semikolon zwischen zwei Abfragen. Die Datenbank liest sie dann als eine Abfrage, was keinen Sinn ergibt:
SELECT titel FROM spiele
SELECT name FROM kunden;Error on line 1: near "SELECT": syntax errorSolche Meldungen lernst du gleich zu lesen. Diese sagt, dass die Datenbank das Wort SELECT dort, wo sie es gefunden hat, nicht erwartet hat, weil die erste Abfrage nicht beendet war.
So schreibst du es:
Anweisungen
- 1
Die Abfrage im Editor funktioniert, ist aber schwer zu lesen. Schreibe sie auf die übliche Weise um: Schlüsselwörter groß,
SELECTmit den Spalten zuerst undFROM spiele;in einer eigenen Zeile. - 2
Füge darunter eine Abfrage hinzu, die die ID, das Datum und den Status jeder Bestellung zeigt (die Spalten
id,bestellt_amundstatusder Tabellebestellungen). Schreibe sie ebenfalls in zwei Zeilen.id bestellt_am status 1 2024-01-20 bezahlt 2 2024-02-14 bezahlt … … …