SQL Tutorial: SQL oder "Structured Query Language" ist eine Programmiersprache, die heutzutage für die Verwaltung von Datenbanken fast unverzichtbar ist. In einer Welt, in der Daten eine eigenständige Ressource sind, ist es leicht zu verstehen, warum die Fähigkeit, diese Sprache zu verwenden, eine sehr gefragte Fähigkeit ist. In diesem Artikel werden wir dir in aller Kürze die Funktionsweise dieser Sprache vorstellen. Danach werden die fünf Methoden vorgestellt, die du kennen solltest, um mit SQL zu beginnen. Auf geht's zu diesem SQL-Tutorial!
1) Funktionsweise von SQL
Der größte Vorteil von SQL, und wahrscheinlich auch der Grund für seinen Erfolg, ist die einfache Syntax. Wo viele Sprachen sich mit strenger Einrückung, Fachvokabular und langen Codezeilen belasten, präsentiert SQL Methoden, die in eine Zeile passen und sich der Alltagssprache annähern.
Zum Beispiel: SELECT Name FROM Clients.
Bedeutet wörtlich „Wähle Namen von Kunden aus“.
Die SQL-Sprache basiert auf dem relationalen Tabellensystem. Zur Vereinfachung kann man sich Tabellen als große Tabellen vorstellen.
Was die Beziehungen zwischen zwei Tabellen betrifft, so handelt es sich um die Gemeinsamkeiten zwischen zwei Spalten in zwei verschiedenen Tabellen.
Der Betreiber einer Mediathek speichert z. B. Informationen über seine Kunden und Bücher in relationalen Tabellen.
So verwendet er eine Tabelle „Kunden“, die für jeden Kunden seine Kennung, seinen Vornamen, seinen Nachnamen, seine Adresse und das Datum seines letzten Abonnements in der Mediathek enthält.
In dieser Tabelle können zwei Zeilen den gleichen Vor- und Nachnamen oder das gleiche Abonnementdatum haben. Der Benutzername hingegen wurde so gewählt, dass er eindeutig ist. Diese Spalte wird als Primärschlüssel für „Kunden“ bezeichnet.
Primärschlüssel sind wichtig, da sie die Zeilen voneinander unterscheiden.
Wir können diesen Schlüssel z. B. verwenden, um die Aktionen verschiedener Kunden zu verfolgen, ohne sie zu verwechseln.
Der Verwalter verwendet auch eine Tabelle „Ausleihen“, die für jede laufende Ausleihe die Kennung der Ausleihe und des Kunden, den Buchtitel, den Autor und die Anzahl der Tage seit dem Ausleihdatum enthält.
Du wirst feststellen, dass die Identifikationsnummern der Kunden sowohl in der Tabelle „Kunden“ als auch in der Datenbank „Anleihen“ vorhanden sind. Man kann also sagen, dass die beiden Tabellen in einer Beziehung zueinander stehen.
Es ist also möglich, SQL-Abfragen durchzuführen, um Informationen aus einer, der anderen oder beiden Tabellen zu erhalten.
Man könnte sich z. B. vorstellen, dass der Geschäftsführer den Vor- und Nachnamen aller Kunden haben möchte, die vor mehr als drei Wochen ein Buch ausgeliehen, aber nicht zurückgegeben haben, um ihnen eine Erinnerung schicken zu können.
2) SQL Tutorial: Die 5 nützlichsten Methoden
Nachdem du nun eine Vorstellung davon hast, wie SQL im Allgemeinen funktioniert, kommen wir nun zum Kern der Sache.
Die Codezeilen in SQL werden als Abfragen bezeichnet. Sie bestehen aus Methoden, die Wörter in Großbuchstaben sind, und Attributen, die normalerweise Tabellen- oder Spaltennamen sind, die in Kleinbuchstaben geschrieben werden.
A) CREATE TABLE
Die erste Methode, die du verwenden wirst, ist CREATE TABLE. Dies ist die Syntax, mit der du, wie der Name schon sagt, eine Tabelle erstellen kannst.
Um eine solche Operation durchzuführen, musst du zunächst den Namen der Tabelle sowie den Namen und den Typ der Spalten angeben, die du ihr zuweisen möchtest.
B) SELECT … FROM ...
Dies ist wahrscheinlich die am häufigsten verwendete Methode. Sie ist diejenige, die es uns ermöglicht, eine Spalte aus einer Tabelle auszuwählen.
Du musst angeben, welche Spalten Du nach „SELECT“ auswählen willst und in welcher Tabelle du nach „FROM“ suchen willst.
Um zum Beispiel die Liste der Vor- und Nachnamen aus der Tabelle „Kunden“ auszuwählen, lautet die Syntax wie folgt:
SELECT Vorname, Nachname FROM Kunden
Beachte, dass nach SELECT oft ein * steht. Dieses Symbol steht für „all“, d. h. wenn du die gesamte Tabelle „Kunden“ auswählen willst, schreibst du :
SELECT * FROM Kunden
C) WHERE
Wie wir gesehen haben, können mit SELECT alle Zeilen einer Spalte ausgewählt werden. Mit WHERE kannst du angeben, welche Zeilen in der Spalte ausgewählt werden sollen und welche nicht.
WHERE wird also nach einem SELECT … FROM … verwendet, um die Bedingung zu erläutern, unter der eine Zeile ausgewählt werden soll und eine andere nicht.
Um z. B. das Abonnementdatum von Kunden mit dem Namen „Müller“ auszuwählen, lautet die Syntax wie folgt:
SELECT Date_Subscription FROM Clients WHERE Name = Dupond
D) FULL JOIN … ON ...
Nachdem wir nun wissen, wie man die Spalten und Zeilen einer Tabelle genau auswählt, wollen wir uns ansehen, wie man Informationen aus zwei Tabellen gleichzeitig ziehen kann.
Wir haben bereits darüber gesprochen, dass die Tabellen „Kunden“ und „Kredite“ miteinander in Beziehung stehen, da sie beide eine Spalte mit den Kunden-IDs enthalten.
Es ist also möglich, diese beiden Tabellen zu einer einzigen Tabelle zu verschmelzen, die alle Informationen aus den beiden vorherigen Tabellen enthält.
Um dies zu tun, kannst du die Methode FULL JOIN … ON …. verwenden. Diese Methode wird nach einem SELECT … FROM … verwendet. Du gibst zuerst die beiden Tabellen an, die verbunden werden sollen, und dann die Spalten, die miteinander in Beziehung stehen.
Um z. B. alle Spalten für die Zusammenführung von Kunden und Krediten auszuwählen, lautet die Syntax :
SELECT *
FROM Kunden FULL JOIN Darlehen
ON Kunden.Kunden_id = Darlehen.Kunden_id
Wir werden diese neue Tabelle später Fusion nennen.
Da beide Tabellen identische Spaltennamen haben, ist es notwendig, den Tabellennamen vor dem Spaltennamen anzugeben. Zum Beispiel steht Kunden.Kunden_id für die Spalte Kunden_id in der Tabelle Kunden.
Wir stellen auch fest, dass einige Felder „NaN“ enthalten, d. h. fehlende Werte. Isabelle dupond hat nämlich keine ausstehenden Kredite.
Es gibt andere Arten von Vereinigungen (LEFT UNION, RIGHT UNION, INNER JOIN), mit denen du solche Zeilen, die problematisch sein können, beibehalten oder nicht beibehalten kannst.
E) GROUP BY
Wir wissen jetzt, wie man mehrere Tabellen zusammenführen kann, aber manchmal ist es sinnvoll, eine Tabelle zu verkleinern, um nur die wichtigsten Informationen zu erhalten. Zum Beispiel kann es aus Gründen der Lesbarkeit besser sein, einen Durchschnittswert anzuzeigen als eine große Anzahl von Zeilen.
GROUP BY wird nach einem SELECT… FROM …. verwendet. Du gibst dann den Namen der Spalte an, in der du die Daten gruppieren willst. Um jedoch eine Operation wie einen Durchschnitt, eine Summe usw. durchzuführen, muss dies nach dem SELECT angegeben werden.
Um z. B. für jeden Kunden der Mediathek die Anzahl der Tage seit dem Datum der ältesten Ausleihe auszuwählen, lautet die Syntax wie folgt:
SELECT Kunden_id, MAX(Dauer) FROM Fusion GROUP BY Kunden_id
Wir sind nun mit dem SQL Tutorial mit den fünf nützlichsten Methoden in SQL fertig. Du hast nun die wichtigsten Grundlagen, um mit SQL anzufangen. Wenn Du Dich für SQL interessierst, erfahre mehr über SQL Joins.