Zum Inhalt
wannacode

SELECT: Spalten auswählen

Kurz gesagt: SELECT wählt, welche Spalten eine Abfrage liefert und in welcher Reihenfolge, und AS gibt einer Spalte im Ergebnis einen anderen Namen.

Problem

Die Newsletter-Liste

Der Shop verschickt einen Newsletter mit Angeboten. Deine Kollegin im Marketing braucht nur Namen und E-Mail-Adressen der Kunden.

SELECT * liefert alles: id, Stadt, Anmeldedatum. Bei 20 Kunden löscht sie den Rest von Hand. Bei 200.000 und zehn Spalten tut sie es nicht.

Die Idee

Die Spalten aufzählen

Statt * schreibst du die gewünschten Spalten, durch Kommas getrennt:

SQLDatenbank: Shop

Die Spalten kommen in der Reihenfolge, in der du sie geschrieben hast. Vertausche sie und führe es noch einmal aus.

Das gilt ab jetzt für jede Abfrage: Nimm nur, was du brauchst. Die Datenbank schickt weniger Daten, und wer die Abfrage liest, sieht genau, was benutzt wird.

Probier es aus

Die Preisliste

Zeige nur Name und Preis jedes Produkts.

SQLDatenbank: Shop

Sieh es dir an

Ein Komma

Diese Abfrage sieht fast so aus wie die erste. Führe sie aus:

SQLDatenbank: Shop
1. Warum hat SELECT name email FROM customers; eine einzige Spalte namens email geliefert?

Die Idee

Andere Namen mit AS

Eine Spalte kann unter einem anderen Namen angezeigt werden. Das heißt Alias und wird mit AS geschrieben:

SQLDatenbank: Shop

Ein Name ohne Leerzeichen wird so geschrieben, wie er ist. Hat er Leerzeichen, setze ihn in doppelte Anführungszeichen. Einfache Anführungszeichen sind in SQL für Text; die brauchst du in der nächsten Lektion.

Ein Alias ändert die Tabelle nicht. Er ändert nur die Spaltenüberschrift in diesem Ergebnis.

Probier es aus

Der Lagerbestand

Zeige Name und Lagerbestand der Produkte, aber nenne die Spalten product und in_stock.

SQLDatenbank: Shop

Übung

Die Bestellungen in Kürze

Zeige zu jeder Bestellung ihre Nummer, ihr Datum und ihren Status, ohne den Kunden.

SQLDatenbank: Shop

Test

Teste dich

1. Was liefert SELECT email, name FROM customers;?
2. Wann steht ein Alias in doppelten Anführungszeichen?
3. Warum ist SELECT name, price in einem Programm besser als SELECT *?

Erstellt von Ivo Gergov im Rahmen der Kampagne von Evo Tech für zugängliche Programmierausbildung ·