Spalten benennen mit AS
Eine berechnete Spalte wird nach ihrer Rechnung benannt, etwa menge * preis. Das ist lang und ändert sich mit jedem Leerzeichen, das du tippst. AS gibt einer Spalte einen eigenen Namen, einen Alias:
SELECT titel, preis - 5 AS angebotspreis
FROM spiele;| titel | angebotspreis |
|---|---|
| Dragon Forge | 35 |
| Pixel Racer | 10 |
| Moon Farm | 15 |
| … | … |
Der Alias ist nur der Name der Spalte im Ergebnis; die Tabelle ändert sich nicht. Schreibe Aliase wie die Namen von Spalten: klein, ohne Leerzeichen, mit Unterstrichen zwischen den Wörtern. Du kannst auch gewöhnliche Spalten umbenennen: SELECT titel AS spiel ist praktisch, wenn das Ergebnis an jemanden geht, der die Namen der Spalten nicht kennt.
Du kannst einen Alias in ORDER BY verwenden, damit du die Rechnung nicht zweimal schreiben musst: ORDER BY angebotspreis DESC sortiert die Spiele nach ihrem Preis in der Aktion. ORDER BY preis - 5 DESC würde auch funktionieren, aber der Alias ist kürzer und klarer.
Ein Alias mit Leerzeichen muss in doppelten Anführungszeichen stehen: AS "neuer preis". Das funktioniert, aber dann musst du die Anführungszeichen jedes Mal schreiben, wenn du den Alias verwendest, und deshalb bevorzugen Programmierer Unterstriche.
Erinnerst du dich an das fehlende Komma aus der ersten Lektion? AS kann weggelassen werden: SELECT titel preis FROM spiele; ist eine Abfrage mit einer Spalte, den Titeln, die preis heißt. Deshalb gibt ein fehlendes Komma keinen Fehler. Schreibe immer AS: Dann sieht jeder, dass der neue Name mit Absicht da ist.
So schreibst du es:
Anweisungen
- 1
Die Abfrage im Editor berechnet, was der Kunde für jede Position bezahlt hat. Nenne ihre letzte Spalte
gesamtund sortiere die Positionen danach, von der größten; die Positionen mit demselben Gesamtbetrag nach der ID der Bestellung:bestellung_id spiel_id gesamt 22 14 60 26 15 60 27 15 60 … … … - 2
Füge darunter eine Liste von Spielen für die Website des Shops zusammen: den Titel und das Genre jedes Spiels, sortiert nach dem Titel. Die Website erwartet den Titel in einer Spalte namens
spielund das Genre in einer Spalte namenskategorie:spiel kategorie Bakery Story Simulation Castle Siege Strategie Cube Logic Puzzle … …