Hilfe
Benutzerregeln
Bei der Benutzung von SQL-Abfragen ist auf folgendes zu beachten.
- Schreibweisenabhängigkeit
Customer.firstName
ist was anderes alscustomer.firstname
. - Anführungszeichen
Setze Textvergleiche in einfache Anführungszeichen.
SELECT Angestellter.Adresse
FROM Angestellter
WHERE Angestellter.Name = 'Mustermann' - Alle SQL Schlüsselwörter müssen in Großbuchtaben geschrieben werden.
SchreibeSELECT, FROM, WHERE
und nichtselect, from, where.
- Spalten müssen voll spezifiziert werden
Schreibe z.B.Kunde.Id
, nichtId
.
Das gilt auch für
SELECT Schueler.*
FROM Schueler
und nicht
SELECT *
FROM Schueler - Keine Rechnungen in der SELECT-Zeile
Nur einfach Funktionen wieCOUNT(), SUM(), AVG()
können benutzt werden.
Folgendes geht somit leider nicht:
SELECT Ausgaben.total / 1000.0 AS Gesamtausgaben
FROM Ausgaben. - Joins
Joins
müssen in derWHERE
-Aussage gemacht werden. - Platzhalter...
...werden mit?
gekennzeichnet. - Keine geschachtelten
SELECT
-Abfragen - Keine Bindestriche oder Minuszeichen in Spaltennamen:
CustomerID
stattCustomer-ID
Unterstützte SQL-Anweisungen
- SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, AS
- AVG, SUM, COUNT, ASC, DESC
- =, !=, <, >, <=, >=, AND, OR
Durch das Programm unterstützte weitere Befehlssequenzen:
- CREATE TABLE tabellenname
- DROP TABLE
- ALTER TABLE tabellenname
DROP spaltenname - ALTER TABLE tabellenname
ADD spaltenname spaltentyp[string,number]
Nicht unterstützte SQL-Anweisungen
Folgendes wird noch nicht unterstützt...
- LIKE
- BETWEEN
- IN (bei Listen und verschachtelten SELECT-Abfragen)
- ANY
- EXISTS
- DISTINCT
- AVG DISTINCT, SUM DISTINCT, COUNT DISTINCT
- LEFT OUTER JOIN
- RIGHT OUTER JOIN
- FULL OUTER JOIN
- UNION, EXCEPT, INTERSECT
Beispiele
SELECT Schueler.* FROM Schueler
Liefert alle (*) Informationen aus der Tabelle Schueler.
SELECT Schueler.id, Schueler.name FROM Schueler
Liefert nur die Informationen aus der Spalte id und name von allen Schülern.
SELECT Schueler.id, Schueler.name, Klasse.raum FROM Schueler, Klasse
Liefert alle ids und Namen der Schüler, sowie alle Klassenzimmer.
SELECT i.* FROM Schueler AS i
Umbenennen der Tabelle Schueler in i.
SELECT i.id AS ID_NUM FROM Schueler AS i
Umbenennen des Spaltennames für die Ausgabe zur Erhöhung der Lesbarkeit.
SELECT Schueler.name, Raum.id FROM Schueler, Raum WHERE Schueler.klasse = Raum.klasse
Beispiel für ein Join, also eine Verbindung von zwei Tabellen.
SELECT Schueler.id FROM Schueler ORDER BY Schueler.id
Geordnet nach der id
SELECT Schueler.id FROM Schueler ORDER BY Schueler.id ASC
Aufsteigend sortiert.
SELECT Schueler.id FROM Schueler ORDER BY Schueler.id DESC
Absteigend sortiert.
SELECT Schueler.custId, Schueler.id FROM Schueler ORDER BY Schueler.custId DESC, Schueler.id
Nach beiden sortiert.
SELECT Refund.* FROM Refund LIMIT 100
Höchstens 100 Ausgaben
SELECT Refund.* FROM Refund LIMIT 100, 50
Die Ergebnisse 50-100 ausgeben
SELECT Konto.stand, SUM (Konto.stand) AS SUM_stand, //Summe der Kontostände COUNT (Konto.stand) AS COUNT_stand, // Anzahl der Konten AVG (Konto.stand) AS AVG_stand // Durchschnittlicher Kontostand FROM Konto
SELECT Schueler.nachname FROM Schueler GROUP BY Schueler.nachname
Erst wird erst nach gleichen Nachnamen gruppiert
SELECT CDs.length AS Spieldauer, FROM CDs GROUP BY CDs.interpret HAVING (Spieldauer) > 100Nach Interpreten gruppieren, die eine Spieldauer > 100 Minuten haben.
Der gesamte SQL-Parser ist von Trimpath übernommen.