Zurück zur Artikelliste Artikel
7 Leseminuten

Was ist eine SQL-Abfrage?

Eine SQL-Abfrage ist der grundlegendste SQL-Befehl. Sie ist eine Frage, die Sie an eine Datenbank stellen. In diesem Artikel tauchen wir in die Grundlagen von SQL-Abfragen ein, damit Sie Ihre SQL-Reise gleich mit praktischem Wissen beginnen können!

SQL, oder Structured Query Language, ist eine Programmiersprache, die für die Interaktion mit Datenbanken entwickelt wurde. Wenn Sie auf Daten in einer Datenbank zugreifen möchten, sei es um sie zu ändern, zu löschen, hinzuzufügen oder einfach nur Informationen zu extrahieren, verwenden Sie SQL.

SQL kann mit großen Datenmengen arbeiten und interagieren. Die Syntax ist schlank und einfach. Wenn Sie mehr über SQL, die Geschichte und die Grundlagen wissen möchten, lesen Sie unseren Artikel, der genau diese Frage behandelt: "Was ist SQL?"

Für diejenigen, die SQL mit Hilfe von Übungen erlernen möchten, empfehlen wir unseren SQL für Anfänger Kurs, mit dem Sie auch gleich nach dem Lesen dieses Artikels beginnen können. Dieser vollständig interaktive Kurs enthält die wesentlichen Grundlagen von SQL in 129 Übungen!

SQL-Abfrage: Eine Frage an die Datenbank

Eine SQL-Abfrage ist ein Befehl, der dazu dient, Daten aus einer Datenbank abzurufen. Sie ist ein flexibles Instrument, um auf die benötigten Daten zuzugreifen.

Eine SQL-Abfrage ist im Wesentlichen eine Frage, die ein Benutzer an die Datenbank stellt. Die Fragen können unterschiedlich komplex sein, von "Welche Automodelle werden verkauft?" bis hin zu "Wie viele Volvo-Autos werden im Durchschnitt jedes Jahr an das Unternehmen von Herrn Schmidt verkauft?"

In diesem Artikel sehen wir uns einige einfachere Beispiele für SQL-Abfragen an, d.h. einfachere Fragen, die Sie einer Datenbank stellen können. Bevor wir weiter eintauchen, kann unser Leitfaden für Einsteiger zu SQL-Begriffen sehr nützlich sein, um einige Dinge zu verstehen, die auf uns zukommen!

Tabellen in SQL-Datenbanken

SQL-Datenbanken speichern Informationen in Tabellen. Jede Tabelle hat einen Namen, der uns normalerweise sagt, welche Art von Informationen sie speichert: eine Tabelle namens Studenten speichert wahrscheinlich Informationen über Studenten, eine Tabelle namens Kurs speichert wahrscheinlich Informationen über Kurse, usw.

Jede Tabelle besteht aus Spalten und Zeilen. Die Spalten bilden die Struktur einer Tabelle. Jede Spalte hat einen Namen, der uns sagt, welche Informationen sie speichert. Außerdem hat sie einen Datentyp, der angibt, ob es sich bei den Informationen in der Spalte um Text, Zahlen, Datum und Uhrzeit usw. handelt. Die Zeilen enthalten die eigentlichen Daten, die durch die Spalten definiert sind.

Sehen wir uns ein Beispiel an: die Tabelle Studenten. Sie enthält Informationen über die Studenten einer Universität. Sie hat 5 Spalten. Die Bedeutung jeder Spalte ist wie folgt

  • Id - die eindeutige ID des Studenten.
  • Name - der Vor- und Nachname des Studenten.
  • Abteilung - der Fachbereich an der Universität, dem der Student angehört.
  • Durchschnittliche_Bewertung - die Durchschnittsnote des Studenten (von 1 bis 5).
  • Laufendes_Jahr - das aktuelle Jahr des Studenten.

Die Spalten Name und Abteilung speichern String-Werte, Id und Laufendes_Jahr sind Ganzzahlen und Durchschnittliche_Bewertung ist eine Gleitkommazahl:

IdNameAbteilungDurchschnittliche_BewertungLaufendes_Jahr
1Tracy SchreinerComputer Wissenschaft4.41
2Kornelia betriebComputer Wissenschaft3.671
3Will ParkerIT-Verwaltung4.053
4Daria HendersonIT-Verwaltung4.74
5James MartinsWeltgeschichte2.84
6Kim YuNeue Medien Kunst3.963

Beispielfragen

Überlegen wir uns einige Beispiele für Fragen/Abfragen, die wir dieser Tabelle stellen können:

  • Wer sind alle Studenten, die an der Universität studieren?
  • Wie lauten die Namen der Studenten, die an der Universität studieren?
  • Wie lauten die Namen der Studenten, die eine Durchschnittsbewertung von mindestens 4 haben?
  • Welche Studenten sind im ersten Jahr im Fachbereich Informatik?
  • Und so weiter.

Die Zahl der möglichen Abfragen mit nur dieser einen Tabelle ist praktisch endlos. Sie alle haben eine gemeinsame Struktur:

SELECT …
FROM Studenten
…

Wie Sie sehen, verwenden wir den Namen unserer Tabelle, Studenten in einer Abfrage mit dem Schlüsselwort FROM.

Wie schreibt man eine SQL-Abfrage?

In diesem Artikel konzentrieren wir uns auf die grundlegendsten Teile einer SQL-Abfrage: SELECT, FROM und WHERE. Lassen Sie uns einige Daten aus der Tabelle Studenten Tabelle mit Hilfe dieser Schlüsselwörter abrufen.

Beispiel-SQL-Abfrage 1: Extrahieren aller Informationen aus einer Tabelle (Verwendung von SELECT * in Abfragen)

SELECT *
FROM Studenten;

Dies ist die einfachste Art der Abfrage. Sie wählt alle Spalten (durch Verwendung des Symbols * nach SELECT) und alle Zeilen (ohne Filter) aus der Tabelle aus. In natürlicher Sprache fragt diese Abfrage: "Gib mir alle Informationen über alle Studenten".

So sieht das Ergebnis aus:

IdNameAbteilungDurchschnittliche_BewertungLaufendes_Jahr
1Tracy SchreinerComputer Wissenschaft4.41
2Kornelia betriebComputer Wissenschaft3.671
3Will ParkerIT-Verwaltung4.053
4Daria HendersonIT-Verwaltung4.74
5James MartinsWeltgeschichte2.84
6Kim YuNeue Medien Kunst3.963

Wie Sie sehen, handelt es sich um eine vollständige Tabelle, die wir bereits gesehen haben. Schauen wir uns ein weiteres Beispiel an.

Beispiel-SQL-Abfrage 2: Extrahieren der Namen der Schüler, ihrer Abteilungen und ihrer aktuellen Jahrgänge (Auswahl bestimmter Spalten)

SELECT Name, Abteilung, Laufendes_Jahr
FROM Studenten;

Diese Abfrage hat etwas mehr zu bieten. Sie wählt alle Zeilen aus (wieder ohne Filter), aber nicht alle Spalten - nur Name, Abteilung und Laufendes_Jahr. Die Abfrage lautet: "Gib mir die Namen der Studenten, ihre Abteilungen und ihr Jahr."

Das Ergebnis sieht folgendermaßen aus:

NameAbteilungLaufendes_Jahr
Tracy SchreinerComputer Wissenschaft1
Kornelia betriebComputer Wissenschaft1
Will ParkerIT-Verwaltung3
Daria HendersonIT-Verwaltung4
James MartinsWeltgeschichte4
Kim YuNeue Medien Kunst3

Es handelt sich um dieselbe Tabelle wie zuvor, nur mit weniger Spalten. Schauen wir uns nun ein noch fortgeschritteneres Beispiel an.

Beispiel-SQL-Abfrage 3: Extrahieren der Namen der IT-Verwaltung-Studenten (Filtern von Abfragen mit WHERE)

SELECT Name
FROM Studenten
WHERE Abteilung = 'IT-Verwaltung';

Diese Abfrage wählt nicht nur eine Spalte aus, Name, sondern fügt auch einen Filter für die Zeilen hinzu. Sie wählt nur Zeilen aus, deren Wert Abteilung gleich 'IT-Verwaltung' ist. Diese Abfrage fragt: "Gib mir die Namen der Studenten, die im Fachbereich IT-Verwaltung studieren." Und hier ist das Ergebnis:

Name
Will Parker
Daria Henderson

Beispiel-SQL-Abfrage 4: Extrahieren der IDs und der Namen der Studenten des vierten Studienjahres im Fachbereich IT-Verwaltung (Mehrere Filter in Abfragen mit AND)

Oft möchten Sie mehrere Filterbedingungen einbeziehen. Das ist kein Problem! Fügen Sie mit den Schlüsselwörtern AND und OR so viele Bedingungen hinzu, wie Sie möchten. Wenn Sie zwei Bedingungen mit dem Schlüsselwort AND verknüpft haben, sucht die Abfrage nach Zeilen, die beide Bedingungen erfüllen. Wenn sie mit OR verbunden sind, sucht die Abfrage nach Zeilen, die eine der beiden Bedingungen erfüllen.

Sehen wir uns ein Beispiel an:

SELECT Id, Name
FROM Studenten
WHERE Abteilung = 'IT-Verwaltung'
AND Laufendes_Jahr = 4;

Die Abfrage fragt: "Gib mir die IDs und die Namen der IT-Verwaltung-Studenten, die sich im vierten Jahr befinden." Hier ist das Ergebnis:

IdName
4Daria Henderson

Und hier ist ein Beispiel für Filterbedingungen mit OR.

Beispiel-SQL-Abfrage 5: Extrahieren der Namen und der Abteilungen der Studenten in IT-Verwaltung oder Weltgeschichte (mehrere Filter in Abfragen mit OR)

SELECT Name, Abteilung
FROM Studenten
WHERE Abteilung = 'IT-Verwaltung'
OR Abteilung = 'Weltgeschichte';

Diese Abfrage fragt: "Geben Sie mir die Namen und die Abteilungen der Studenten, die entweder in IT-Verwaltung oder in Weltgeschichte sind." So sieht das Ergebnis aus:

NameAbteilung
Will ParkerIT-Verwaltung
Daria HendersonIT-Verwaltung
James MartinsWeltgeschichte

SQL-Abfragen: Allgemeine Struktur

Fassen wir zusammen und betrachten wir die allgemeine Struktur einer SQL-Abfrage. Die allgemeine Struktur einer SQL-Abfrage ist wie folgt:

SELECT …
FROM …
WHERE …
GROUP BY …
HAVING …
ORDER BY …;

Von all diesen Schlüsselwörtern sind nur zwei obligatorisch: SELECT und FROM - die, die Sie bereits kennen. Gehen wir nun die einzelnen Schlüsselwörter durch:

  • SELECT wird gefolgt von den Spalten, die Sie aus der Tabelle auswählen möchten (z.B. SELECT Name, Abteilung, Laufendes_Jahr) oder dem Symbol *, um alle Spalten auszuwählen.
  • FROM wird gefolgt vom Namen der Tabelle, aus der Sie Informationen abrufen möchten.
  • WHERE wird gefolgt von einer oder mehreren Filterbedingungen für die Daten (z. B. WHERE Laufendes_Jahr = 1).
  • GROUP BY wird gefolgt von einer oder mehreren Spalten, nach denen Sie die Daten gruppieren möchten (z. B. GROUP BY department aggregiert Studenten nach ihren Abteilungen).
  • HAVING wird von einer Bedingung gefolgt, die Datengruppen filtert. Dieses Schlüsselwort wird immer zusammen mit GROUP BY verwendet.
  • ORDER BY wird von einer oder mehreren Spalten gefolgt, nach denen Sie die Daten sortieren möchten.

Lernen Sie alles über SQL-Abfragen mit unserem "SQL für Anfänger" Kurs!

Sie können in Abfragen viel mehr tun als das, was wir in diesem Artikel behandelt haben, z. B. Daten mit GROUP BY gruppieren, Ergebnisse mit ORDER BY sortieren und sogar mehrere Tabellen auf einmal mit verschiedenen JOINs abfragen! Unser interaktiver SQL für Anfänger Kurs vermittelt Ihnen Theorie und Praxis zu all diesen Themen und noch viel mehr auf unterhaltsame und interaktive Weise. Ich lade Sie ein, ihn auszuprobieren!