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:
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.
Lösung
SELECT name, price FROM products;Zwei Spalten, 25 Zeilen. Genau das, was du ins Regal legen würdest.
Sieh es dir an
Ein Komma
Diese Abfrage sieht fast so aus wie die erste. Führe sie aus:
Die Idee
Andere Namen mit AS
Eine Spalte kann unter einem anderen Namen angezeigt werden. Das heißt Alias und wird mit AS geschrieben:
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.
Lösung
SELECT name AS product, stock AS in_stock FROM products;SELECT name AS product, stock AS in_stock FROM products; Hier prüft die Kontrolle auch die Spaltennamen.
Übung
Die Bestellungen in Kürze
Zeige zu jeder Bestellung ihre Nummer, ihr Datum und ihren Status, ohne den Kunden.
Lösung
SELECT id, ordered_at, status FROM orders;Drei Spalten: id, ordered_at, status. 60 Zeilen, eine pro Bestellung.
Test
Teste dich
Verwandte Lektionen
Abschnitt „Verwandte Lektionen“- Baut auf: Warum eine Datenbank
- Geht weiter in: WHERE: Zeilen filtern · IN, BETWEEN und LIKE · NULL: kein Wert · ORDER BY, LIMIT und DISTINCT
- Aufgaben zum Thema: Daten lesen