SQL-Grundlagen: SELECT, WHERE und ORDER BY

Der Einstieg in SQL: Lerne, wie du mit SELECT Daten abfragst, mit WHERE filterst und mit ORDER BY sortierst – die drei Bausteine jeder Datenbankabfrage.

Teilen
SQL-Grundlagen: SELECT, WHERE und ORDER BY

Fast jede Anwendung speichert ihre Daten in einer Datenbank, und die Sprache, mit der du diese Daten abfragst, ist SQL (Structured Query Language). In diesem Beitrag lernst du die drei wichtigsten Bausteine kennen: SELECT zum Auswählen, WHERE zum Filtern und ORDER BY zum Sortieren. Damit kannst du bereits den Großteil aller Lese-Abfragen formulieren.

Unsere Beispieltabelle

Stell dir eine Tabelle kunden vor, in der jede Zeile einen Kunden beschreibt. Die Spalten sind id, name, stadt und umsatz. Anhand dieser Tabelle gehen wir alle Befehle durch.

Daten mit SELECT auswählen

Mit SELECT bestimmst du, welche Spalten du sehen möchtest. Das Sternchen * steht für "alle Spalten".

-- Alle Spalten aller Kunden
SELECT * FROM kunden;

-- Nur Name und Stadt
SELECT name, stadt FROM kunden;

In der Praxis solltest du nur die Spalten auswählen, die du wirklich brauchst. Das macht deine Abfragen schneller und deine Absicht klarer.

Zeilen mit WHERE filtern

Selten willst du wirklich alle Zeilen. Mit WHERE gibst du eine Bedingung an, und nur Zeilen, die sie erfüllen, werden zurückgegeben.

-- Nur Kunden aus Berlin
SELECT name, umsatz FROM kunden
WHERE stadt = 'Berlin';

-- Nur Kunden mit hohem Umsatz
SELECT name FROM kunden
WHERE umsatz > 1000;

Beachte, dass Text in einfachen Anführungszeichen steht, Zahlen dagegen nicht.

Bedingungen kombinieren

Du kannst mehrere Bedingungen mit AND und OR verknüpfen. Praktisch sind außerdem BETWEEN für Bereiche und LIKE für Textmuster.

-- Berliner Kunden mit hohem Umsatz
SELECT name FROM kunden
WHERE stadt = 'Berlin' AND umsatz > 1000;

-- Umsatz in einem Bereich
SELECT name FROM kunden
WHERE umsatz BETWEEN 500 AND 2000;

-- Namen, die mit 'M' beginnen
SELECT name FROM kunden
WHERE name LIKE 'M%';

Das Prozentzeichen % bei LIKE ist ein Platzhalter für beliebige Zeichen.

Ergebnisse mit ORDER BY sortieren

Standardmäßig ist die Reihenfolge der Ergebnisse nicht garantiert. Mit ORDER BY sortierst du nach einer oder mehreren Spalten, aufsteigend (ASC) oder absteigend (DESC).

-- Nach Umsatz absteigend (höchster zuerst)
SELECT name, umsatz FROM kunden
ORDER BY umsatz DESC;

-- Erst nach Stadt, dann nach Name
SELECT name, stadt FROM kunden
ORDER BY stadt ASC, name ASC;

Ohne ein Schlüsselwort sortiert SQL standardmäßig aufsteigend, ASC ist also optional.

Alles zusammen mit LIMIT

In echten Abfragen kombinierst du diese Bausteine. Mit LIMIT begrenzt du zusätzlich die Anzahl der Ergebnisse, etwa für eine Top-Liste.

-- Die 3 umsatzstärksten Kunden aus Berlin
SELECT name, umsatz FROM kunden
WHERE stadt = 'Berlin'
ORDER BY umsatz DESC
LIMIT 3;

Die Reihenfolge der Klauseln ist dabei fest: erst SELECT, dann FROM, WHERE, ORDER BY und schließlich LIMIT.

Fazit

Mit SELECT, WHERE und ORDER BY beherrschst du die drei wichtigsten Werkzeuge für Datenbankabfragen. Du wählst Spalten aus, filterst Zeilen nach Bedingungen und bringst sie in eine sinnvolle Reihenfolge. Kombiniert mit AND, LIKE und LIMIT lassen sich damit schon erstaunlich viele Fragen an deine Daten beantworten. Übe diese Befehle an einer eigenen Tabelle, und SQL wird dir schnell vertraut.