Zurück zur Artikelliste Artikel
9 Leseminuten

SQL-Tutorial auf Deutsch

Dieses Tutorial erklärt die grundlegenden und fortgeschrittenen Konzepte von SQL anhand praktischer Beispiele mit Daten über Bücher. Ob Sie ein Anfänger sind oder Ihre Fähigkeiten erweitern möchten, dieser Leitfaden deckt die wesentlichen SQL-Konzepte ab.

Was ist SQL?

SQL, oder Structured Query Language, ist eine Programmiersprache zur Interaktion mit Datenbanken. Sie ermöglicht es Benutzern, Aufgaben wie das Abrufen von Daten, das Aktualisieren von Datensätzen und das Verwalten der gesamten Datenbankstruktur durchzuführen. SQL wurde ursprünglich in den 1970er Jahren von IBM entwickelt. Es hat sich seitdem zur Standardsprache für Datenbankverwaltung entwickelt und wird in verschiedenen Branchen weit verbreitet genutzt.

Der beste Weg, SQL zu lernen, ist durch Übung. Ich empfehle den interaktiven Kurs SQL für Anfänger auf LearnSQL.de. Er enthält 129 praktische Übungen und deckt alle SQL-Funktionen ab, die Sie benötigen, um mit der Arbeit mit Datenbanken zu beginnen.

Struktur von Datenbanken

Datenbanken

Datenbanken sind organisierte Sammlungen von Daten. Die Hauptkomponenten einer SQL-Datenbank sind Tabellen, die die eigentlichen Daten enthalten. Beispielsweise könnte es in einer Bücherdatenbank eine Tabelle für Bücher geben, die Informationen wie Titel, Autor oder Preis enthält.

Ein Datenbankmanagementsystem (DBMS) ist ein Computerprogramm, das Daten in einer Datenbank verwaltet. Es ermöglicht Ihnen, eine Datenbank zu erstellen, zu verwalten und zu interagieren. Es speichert, organisiert und ruft Daten effizient ab. Beliebte Beispiele sind MySQL, Oracle und Microsoft SQL Server.

Tabellen

Tabellen in einer Datenbank sind wie Tabellenkalkulationen. Jede Tabelle speichert Daten zu einem bestimmten Thema, wie Bücher oder Autoren. Eine Tabelle besteht aus Zeilen und Spalten. Jede Tabelle hat einen Namen, der hilft, die Art der enthaltenen Daten zu identifizieren, wie "Bücher" oder "Autoren".

Spalten

Spalten sind die Teile einer Tabelle, die die Art der zu speichernden Daten definieren. Jede Spalte hat einen Namen und enthält einen Datentyp, wie Zahlen, Text oder Daten. Beispielsweise könnten Sie in einer Tabelle für Bücher Spalten wie BuchID, Titel, Genre und Erscheinungsjahr haben. In einer Autorentabelle könnten Sie Spalten wie AutorID, Vorname, Nachname und Geburtsdatum haben. Diese Spaltennamen sollten klar und beschreibend sein, um die Datenbank leicht verständlich und benutzbar zu machen.

Zeilen

Zeilen sind einzelne Einträge in einer Tabelle. Jede Zeile enthält Daten für einen Artikel oder eine Person. In der Büchertabelle würde jede Zeile Informationen über ein anderes Buch enthalten und die Spalten mit ihren einzigartigen Daten ausfüllen. Ebenso würde in der Autorentabelle jede Zeile Informationen über einen anderen Autor enthalten.

Beispiel-Tabelle: Bucher

Hier ist eine Beispieltabelle namens Bucher mit Daten über deutsche Bücher. Sie enthält Spalten für BuchID, Titel, Autor, Genre, Seiten, Erscheinungsjahr und Preis. Wir werden diese Tabelle in unseren Beispielen verwenden, um SQL zu lernen.

BuchIDTitelAutorGenreSeitenErscheinungsjahrPreis
1Der SteppenwolfHermann HesseBelletristik256192712,99
2Die VerwandlungFranz KafkaNovelle6419158,99
3Faust: Der Tragödie erster TeilJohann Wolfgang von GoetheTragödie304180814,99
4Der ProzessFranz KafkaBelletristik160192510,99
5Berlin AlexanderplatzAlfred DöblinBelletristik480192915,99
6Effi BriestTheodor FontaneBelletristik350189513,99
7Der ZauberbergThomas MannBelletristik720192418,99
8Der Richter und sein HenkerFriedrich DürrenmattKrimi20019529,99
9SiddharthaHermann HesseBelletristik152192211,99
10Die BlechtrommelGünter GrassBelletristik600195916,99

SELECT-Anweisung

SQL basiert auf der Struktur der englischen Sprache und verwendet englische Wörter als Schlüsselwörter. Grundlegende Englischkenntnisse können beim Merken der SQL-Syntax hilfreich sein, da diese direkt englische Begriffe verwendet.

Ein grundlegender Befehl in SQL ist SELECT, was im Englischen "auswählen" bedeutet. Dieser Befehl wird verwendet, um Daten aus einer Datenbank abzurufen.

SELECT *

SELECT ermöglicht es Ihnen, anzugeben, welche Informationen Sie sehen möchten und aus welcher Tabelle. Die grundlegendste Form einer SELECT-Anweisung lautet:

SELECT *
FROM tabelle_name;

Dieser Befehl beginnt mit dem Schlüsselwort SELECT. Das Sternchen (*) steht für "alle Spalten" in der Tabelle. Danach verwenden Sie das Schlüsselwort FROM, was im Englischen "aus" bedeutet. Sie geben dann die Tabelle an, aus der Sie Daten auswählen möchten.

Zum Beispiel, um alle Daten aus einer Tabelle namens Bucher anzuzeigen, würden Sie schreiben:

SELECT * 
FROM Bucher;

Auswahl von Spalten

SELECT ermöglicht es Ihnen, anzugeben, welche Spalten von Daten Sie aus einer Tabelle anzeigen möchten. Die grundlegende Syntax lautet:

SELECT spalte1, spalte2, ...
FROM tabelle_name;

Dies ermöglicht es Ihnen, bestimmte Spalten auszuwählen, anstatt alle. Zum Beispiel, wenn Sie nur den Titel, den Autor und das Erscheinungsjahr aus der Tabelle Bucher sehen möchten, würden Sie schreiben:

SELECT Titel, Autor, Erscheinungsjahr 
FROM Bucher;

Diese Abfrage wählt die Spalten Titel, Autor und Erscheinungsjahr aus der Tabelle Bucher aus:

TitelAutorErscheinungsjahr
Der SteppenwolfHermann Hesse1927
Die VerwandlungFranz Kafka1915
Faust: Der Tragödie erster TeilJohann Wolfgang von Goethe1808
Der ProzessFranz Kafka1925
Berlin AlexanderplatzAlfred Döblin1929
Effi BriestTheodor Fontane1895
Der ZauberbergThomas Mann1924
Der Richter und sein HenkerFriedrich Dürrenmatt1952
SiddharthaHermann Hesse1922
Die BlechtrommelGünter Grass1959

WHERE - Filtern von Ergebnissen in SQL

SELECT ermöglicht es Ihnen, die anzuzeigenden Zeilen zu filtern. Dafür verwenden Sie WHERE, was im Englischen "wo" bedeutet. WHERE ermöglicht es Ihnen, Bedingungen anzugeben, die die Daten erfüllen müssen, um in die Ergebnisse aufgenommen zu werden. Hier ist die grundlegende Syntax:

SELECT spalte1, spalte2, ...
FROM tabelle_name
WHERE bedingung;

Gängige Operatoren, die in der WHERE-Klausel verwendet werden, sind:

  • = : Gleich
  • <> : Ungleich
  • > : Größer als
  • < : Kleiner als
  • >= : Größer oder gleich
  • <= : Kleiner oder gleich

Zum Beispiel, um Bücher auszuwählen, die mehr als 15 EUR kosten, könnten Sie schreiben:

SELECT Titel, Autor, Erscheinungsjahr 
FROM Bucher 
WHERE Preis > 15;
TitelAutorErscheinungsjahr
Berlin AlexanderplatzAlfred Döblin1929
Der ZauberbergThomas Mann1924
Die BlechtrommelGünter Grass1959

Sie können auch Bedingungen kombinieren, indem Sie AND, OR und NOT verwenden, um komplexere Filter zu erstellen:

  • AND: Alle Bedingungen müssen wahr sein. AND bedeutet “und” auf English.
  • OR: Mindestens eine Bedingung muss wahr sein. OR bedeutet “oder” auf English.
  • NOT: Die Bedingung muss falsch sein. NOT bedeutet 'nicht' auf English.

Zum Beispiel, um Bücher auszuwählen, die mehr als 15 EUR kosten und weniger als 150 Seiten haben, könnten Sie schreiben:

SELECT Titel, Autor, Erscheinungsjahr 
FROM Bucher 
WHERE Preis > 15 AND Seiten < 150;

Sortieren der Ergebnisse mit ORDER BY

Um die Ergebnisse einer Abfrage zu sortieren, verwenden Sie die ORDER BY-Klausel. ORDER BY bedeutet im Englischen "sortieren nach". Es ermöglicht Ihnen, die Spalte anzugeben, nach der die Ergebnisse sortiert werden sollen. Standardmäßig werden die Ergebnisse in aufsteigender Reihenfolge sortiert, was durch das Schlüsselwort ASC (kurz für "ascending", was "aufsteigend" bedeutet) angezeigt wird.

Hier ist die grundlegende Syntax, um in aufsteigender Reihenfolge zu sortieren:

SELECT spalte1, spalte2, ...
FROM tabelle_name
ORDER BY spalte1 ASC;

Um die Ergebnisse in absteigender Reihenfolge zu sortieren, verwenden Sie das Schlüsselwort DESC (kurz für "descending", was "absteigend" bedeutet):

SELECT Titel, Autor, Erscheinungsjahr 
FROM Bücher 
ORDER BY Erscheinungsjahr DESC;

Dies gibt die Liste der Bücher sortiert nach dem Erscheinungsjahr zurück, wobei die neuesten Bücher zuerst angezeigt werden.

TitelAutorErscheinungsjahr
Die BlechtrommelGünter Grass1959
Der Richter und sein HenkerFriedrich Dürrenmatt1952
Berlin AlexanderplatzAlfred Döblin1929
Der SteppenwolfHermann Hesse1927
Der ProzessFranz Kafka1925
Der ZauberbergThomas Mann1924
SiddharthaHermann Hesse1922
Die VerwandlungFranz Kafka1915
Effi BriestTheodor Fontane1895
Faust: Der Tragödie erster TeilJohann Wolfgang von Goethe1808

Wir haben hier nur die grundlegende SQL-Syntax behandelt. Um mehr in die Tiefe zu gehen, schauen Sie sich unseren interaktiven Kurs SQL für Anfänger an. Dieser geht detailliert auf die Feinheiten der SQL-Syntax ein und bietet 128 Übungen, um durch praktische Erfahrungen zu lernen.

Berechnungen in SQL: Aggregatfunktionen und GROUP BY

Neben dem Filtern und Sortieren von Daten kann SQL auch Berechnungen mit den in Ihrer Datenbank gespeicherten Daten durchführen. Das bedeutet, dass Sie einfache Berechnungen durchführen und nützliche Informationen direkt aus Ihrer Datenbank erhalten können. Beispielsweise kann SQL die Anzahl der Zeilen in einer Tabelle zählen, den Durchschnittswert einer Spalte berechnen und den minimalen oder maximalen Wert in einer Spalte finden. Diese Funktionen machen SQL sehr leistungsfähig für die Arbeit mit Daten. In diesem Abschnitt werden wir uns ansehen, wie Sie SQL verwenden können, um diese Berechnungen durchzuführen und mehr Einblicke in Ihre Daten zu gewinnen.

Aggregatfunktionen

Aggregatfunktionen werden verwendet, um Berechnungen an einer Spalte durchzuführen und einen einzigen Wert zurückzugeben. Diese Funktionen sind nützlich, um die Gesamtsumme einer numerischen Spalte zu berechnen, den Durchschnittswert zu finden, die Anzahl der Zeilen zu zählen und mehr. Lassen Sie uns ein Beispiel ansehen:

SELECT SUM(Seiten) AS Gesamtseiten 
FROM Bucher;

SUM bedeutet im Englischen "Summe", was anzeigt, dass es die Summe der angegebenen Spalte berechnen wird. Die Spalte, die wir summieren möchten, ist Seiten. Der Teil AS Gesamtseiten benennt das Ergebnis für eine bessere Lesbarkeit in "Gesamtseiten" um. Die SUM-Funktion nimmt die Spalte Seiten als Argument und berechnet die Gesamtanzahl der Seiten in der Tabelle Bucher, wobei ein einzelner Wert zurückgegeben wird, der die Gesamtsumme aller Seiten darstellt.

Gängige Aggregatfunktionen sind:

  • COUNT: Gibt die Anzahl der Zeilen zurück. COUNT bedeutet 'zählen' auf Englisch.
  • SUM: Gibt die Gesamtsumme einer numerischen Spalte zurück. SUM bedeutet 'Summe' auf Englisch.
  • AVG: Gibt den Durchschnittswert einer numerischen Spalte zurück. AVG ist die Abkürzung für 'Durchschnitt' (“average”) auf Englisch.
  • MIN: Gibt den kleinsten Wert in einer Spalte zurück. MIN bedeutet im Englischen "Minimum".
  • MAX: Gibt den größten Wert in einer Spalte zurück. MAX bedeutet "Maximum" auf English.

Hier ist, wie Sie Aggregatfunktionen auf Spalten in einer Tabelle von Büchern anwenden können:

SELECT COUNT(BuchID) AS Gesamtbucher 
FROM Bucher; 

SELECT AVG(Seiten) AS Durchschnittsseiten 
FROM Bucher; 

SELECT MAX(Erscheinungsjahr) AS NeuestesBuch 
FROM Bucher;

Gruppieren von Daten mit GROUP BY

Sie können SQL verwenden, um Aggregatfunktionen für Gruppen von Zeilen zu berechnen, indem Sie die GROUP BY-Klausel verwenden. GROUP BY bedeutet im Englischen 'gruppieren nach'. Die GROUP BY-Klausel wird verwendet, um identische Daten in Gruppen zu ordnen, häufig in Kombination mit Aggregatfunktionen, um Berechnungen für jede Gruppe von Daten durchzuführen.

Hier ist die grundlegende Syntax für die Verwendung von GROUP BY:

SELECT spalte1, aggregate_funktion(spalte2)
FROM tabelle_name
GROUP BY spalte1;

Zum Beispiel, um die durchschnittliche Seitenzahl für Bücher jedes Autors zu finden, können Sie schreiben:

SELECT Autor, AVG(Seiten) AS Durchschnittsseiten 
FROM Bucher 
GROUP BY Autor;

Diese Anweisung gruppiert alle Zeilen nach demselben Autor in eine Gruppe und berechnet dann die durchschnittliche Seitenzahl für jede Gruppe. Beispielsweise werden alle Bücher von Franz Kafka zu einer Gruppe zusammengefasst, und die durchschnittliche Seitenzahl in dieser Gruppe wird berechnet. Ebenso werden alle Bücher von Hermann Hesse zu einer Gruppe zusammengefasst, und die durchschnittliche Seitenzahl in dieser Gruppe wird berechnet, und so weiter für jeden Autor.

Schlussfolgerung

In diesem SQL-Tutorial haben wir die grundlegenden Funktionen von SQL behandelt. SQL ist eine leistungsstarke Sprache, die es Ihnen ermöglicht, Daten effektiv zu verwalten und zu manipulieren, was sie zu einer wichtigen Fähigkeit in der heutigen datengetriebenen Welt macht.

Für diejenigen, die mehr über SQL lernen und praktische Fähigkeiten erwerben möchten, empfehle ich den Kurs SQL für Anfänger auf LearnSQL.de. Dieser Kurs ist perfekt für Anfänger und bietet eine solide Grundlage in SQL, von grundlegenden Befehlen bis hin zu fortgeschrittenen Konzepten. Er enthält 128 Übungen, bei denen Sie durch das Schreiben von tatsächlichem Code lernen, was den Lernprozess spannend und praxisnah macht. Sie decken alles ab, von grundlegenden Befehlen bis hin zu fortgeschrittenen Konzepten, und stellen so sicher, dass Sie ein umfassendes Verständnis von SQL erlangen.

Wenn Sie zudem nach einem umfassenden Paket suchen, das alle Aspekte von SQL abdeckt, sollten Sie das Alles für immer SQL-Paket in Betracht ziehen. Dieses Paket bietet lebenslangen Zugang zu allen aktuellen und zukünftigen Kursen auf LearnSQL.de mit einem einzigen Kauf, was es zum besten Preis-Leistungs-Verhältnis macht. Es stellt sicher, dass Sie immer Zugang zum vollständigen SQL-Lernpaket und unseren neuesten Ressourcen haben. Melden Sie sich jetzt kostenlos an!