SQL-Befehlsglossar - Ein Überblick über die 25 beliebtesten SQL-Befehle
Was ist SQL?
SQL, auch bekannt als Structured Query Language, ist ein leistungsstarkes Werkzeug, um große Datenmengen in Datenbanken zu durchsuchen und bestimmte Informationen zur Analyse zurückzugeben. Das Erlernen von SQL ist ein Muss für jeden, der im Datenbereich Fuß fassen will, egal ob es sich um Business Analysten, Datenanalysten, Data Scientists oder Data Engineers handelt.
In diesem Lernprogramm lernst du 25 der gängigsten SQL-Befehle kennen, die für die meisten deiner datenbankbezogenen Aufgaben ausreichen werden.
SQL-Befehle mit Beispielen
Beispieltabelle
In diesem Lehrgang werden wir die Tabellen films
und Soundtracks verwenden.
Filme |
|||||
movie_name |
director |
Umsatz |
Datum |
Genre |
Sprache |
Avengers: Zeitalter des Ultron |
J. Whedon |
1400000000 |
2015 |
Aktion |
Englisch |
Amelie |
Jean-Pierre Jeunet |
174000000 |
2002 |
Drama |
Französisch |
Soundtracks |
||
Soundtrack |
Komponist |
Datum |
Der Anfang: Musik aus dem Kinofilm |
Hans Zimmer |
2010 |
Le Fabuleux Destin D'Amelie Poulain |
Yann Tiersen |
2001 |
1. SELECT
Die Anweisung SELECT
wird verwendet, um anzugeben, welche Spalten einer Datenbanktabelle in das Ergebnis aufgenommen werden sollen.
In diesem Beispiel werden nur die Spalten movie_name
und director
ausgewählt; andere Spalten werden nicht zurückgegeben.
SELECT movie_name, director
FROM films;
Um alle Spalten einer Tabelle auszuwählen, kannst du SELECT *
(sprich: "Stern") verwenden. Dieses Beispiel wählt alle Spalten aus der films
Tabelle.
SELECT *
FROM films;
2. LIMIT
Die Begrenzung der Anzahl von Zeilen, die von einer Tabelle zurückgegeben werden, ist ein nützlicher Trick, um die Abfragezeit zu verkürzen. Um die Anzahl der Zeilen zu begrenzen, kannst du den Befehl LIMIT
verwenden. Dieses Beispiel wählt alle Spalten der films
Tabelle aus und beschränkt die Ergebnisse dann auf die ersten zehn Zeilen.
SELECT *
FROM films
LIMIT 10;
3. AS
Um eine Spalte oder eine Tabelle bei der Rückgabe von Ergebnissen umzubenennen, kannst du mit dem Befehl AS
einen Alias für deine Ausgaben festlegen. In diesem Beispiel wird die Spalte movie_name
ausgewählt und ihr der Alias movie_title
gegeben.
SELECT movie_name AS movie_title
FROM films;
4. SELECT DISTINCT
Datensätze enthalten oft doppelte Zeilen oder Werte in einer Spalte. Wenn du SELECT
mit DISTINCT
kombinierst, fallen Duplikate weg. Dieses Beispiel gibt die eindeutigen Werte in der Spalte director
zurück.
SELECT DISTINCT director
FROM films;
5. COUNT
COUNT()
gibt die Anzahl der Zeilen in der Tabelle oder Gruppe zurück. Dieses Beispiel gibt die Anzahl der Zeilen in der Tabelle films
zurück und benennt das Ergebnis dann in number_of_films
um.
SELECT COUNT(*) AS number_of_films
FROM films;
SQL kostenlos lernen
Datenbearbeitung in SQL
6. MIN
MIN()
gibt den Mindestwert in einer numerischen Spalte zurück. Bei Textspalten gibt MIN()
den ersten Wert in alphabetischer Reihenfolge zurück. In diesem Beispiel wird der Film mit den geringsten Einnahmen zurückgegeben.
SELECT MIN(revenue) AS minimum_revenue,
FROM films;
7. MAX
MAX()
gibt den Maximalwert in einer numerischen Spalte zurück. Bei Textspalten gibt MAX()
den letzten Wert in alphabetischer Reihenfolge zurück. Dieses Beispiel liefert den Film mit den meisten Einnahmen.
SELECT MAX(revenue) AS maximum_revenue,
FROM films;
8. SUM
SUM()
gibt die Summe der numerischen Werte zurück. Dieses Beispiel liefert die Gesamteinnahmen aller Filme, die in der Tabelle films
aufgeführt sind.
SELECT SUM(revenue) AS total_revenue
FROM films;
9. AVERAGE
AVERAGE berechnet das arithmetische Mittel einer Spalte. In diesem Beispiel werden die durchschnittlichen Einnahmen aller in der Tabelle films
aufgeführten Filme ermittelt.
SELECT AVERAGE(revenue) AS average_earned
FROM films;
10. WHERE
Die WHERE
Klausel filtert Zeilen, die einer bestimmten Bedingung entsprechen. Im Folgenden filtern wir zum Beispiel Filme, die mehr als 500 Millionen Dollar eingespielt haben
SELECT revenue
FROM films
WHERE revenue > 500000000;
Andere bedingte Operatoren wie <
, >
, =>
, <=
, == (equals)
, != (not equals)
können zum Filtern verwendet werden.
11. HAVING
Die HAVING-Klausel ähnelt der WHERE-Klausel, aber sie kann nur mit Aggregatfunktionen verwendet werden, während WHERE das nicht kann. In der folgenden Abfrage wählen wir zum Beispiel alle Filmgenres aus, die mindestens 50 Filme in ihrer Kategorie haben:
SELECT movie_name, director, date, COUNT(genre)
FROM films
GROUP BY genre
HAVING COUNT(genre) >= 50;
Hier ist ein weiteres Beispiel, das Filme nach Altersfreigabe gruppiert und nur die Freigaben mit einem durchschnittlichen Umsatz von über 100 Millionen auswählt:
SELECT movie_name, director, date, revenue
FROM films
GROUP BY age_rating
HAVING AVERAGE(genre) >= 100;
12. AND
AND
Operator wird verwendet, um Zeilen zu filtern, die mehr als eine Bedingung erfüllen. Im folgenden Beispiel werden wir nach englischen Filmen filtern, die mehr als 500 Millionen Dollar eingespielt haben.
SELECT *
FROM films
WHERE revenue > 500000000 AND
language == "English";
13. OR
OR
ist ein weiterer bedingter Operator, mit dem du Zeilen unterteilen kannst, wenn eine der durch OR
getrennten Bedingungen wahr ist. Dieses Beispiel liefert englische Filme, die weniger als 100 Millionen Dollar einnahmen, oder französische Filme, die mehr als 500 Millionen Dollar einnahmen.
SELECT *
FROM films
WHERE (revenue < 100000000 AND language == "English") OR
(revenue > 500000000 AND language == “French”);
14. BETWEEN
BETWEEN
ermöglicht es dir, Zeilen innerhalb eines bestimmten Bereichs zu unterteilen, was die WHERE
Klauseln einfacher und übersichtlicher macht. Im obigen Beispiel wählen wir alle Filme aus, die zwischen 2020 und 2022 veröffentlicht werden.
SELECT *
FROM films
WHERE date BETWEEN 2020 AND 2022;
15. IN
Der IN-Operator ist eine Abkürzung für mehrere OR
Anweisungen. Dieses Beispiel liefert alle Filme, die in einem der folgenden Jahre veröffentlicht wurden: 1998, 1966, 2001 und 2012.
SELECT movie_name, date, revenue
FROM films
WHERE date IN (1998, 1966, 2001, 2012);
16. LIKE
Mit dem Operator LIKE
kannst du nach Mustern in einer Textspalte suchen, indem du spezielle Zeichenfolgen, sogenannte Platzhalter, verwendest. Mit Platzhaltern kannst du Textzeichenfolgen finden, die einem bestimmten Muster entsprechen. Wenn du z.B. “A% W%”
als Platzhalter für die Direktoren-Spalte verwendest, findest du alle Direktoren, deren Vorname mit A und deren Nachname mit W beginnt.
SELECT *
FROM films
WHERE director LIKE "A% W%";
17. GROUP BY
GROUP BY
ermöglicht es dir, Zeilen auf der Grundlage von Spaltenwerten zu gruppieren. GROUP BY
wird normalerweise mit Aggregatfunktionen wie COUNT
, MIN
, MAX
, AVERAGE
, und anderen verwendet. Im folgenden Beispiel finden wir die durchschnittlichen Einnahmen für jedes Filmgenre.
SELECT AVERAGE(revenue), movie_name, director, date
FROM films
GROUP BY genre;
Wir hätten auch MIN
, MAX
oder COUNT(revenue)
verwenden können, um die niedrigsten und höchsten Einnahmen oder die Anzahl der Filme in jedem Genre zu ermitteln. Beachte, dass die Anweisung GROUP BY
praktisch keine Auswirkungen auf die Abfrage hat, wenn sie nicht mit einer Aggregatfunktion verwendet wird.
18. ORDER BY
ORDER BY
kannst du Zeilen anhand eines Spaltenwerts ordnen. Du kannst nach aufsteigender (Standard) oder absteigender Reihenfolge sortieren, indem du die ASC
oder DESC
hinzufügst. In diesem Beispiel werden die Einnahmen in aufsteigender Reihenfolge geordnet.
SELECT *
FROM films
ORDER BY revenue ASC;
19. UPDATE
UPDATE
wird verwendet, um die Werte einzelner Zellen in einer bestehenden Tabelle zu ändern. Es wird zusammen mit dem Schlüsselwort SET
verwendet. In diesem Beispiel wird der Direktor “J. Whedon”
auf “Joss Whedon”
aktualisiert.
UPDATE films
SET director = "Joss Whedon"
WHERE director = "J. Whedon"
Die WHERE
Klausel ist beim Schreiben von UPDATE
Anweisungen entscheidend. Ohne sie hätte die obige Abfrage alle Filme von Joss Whedon ergeben.
20. ALTER TABLE
Mit der Anweisung ALTER TABLE
kannst du die Eigenschaften der Tabelle und ihrer Spalten ändern (nicht die tatsächlichen Zellwerte). Zum Beispiel das Ändern von Spaltennamen, das Hinzufügen neuer Spalten, das Löschen von Spalten oder das Ändern ihres Datentyps. Die folgenden Beispiele zeigen, wie die Spalte date
weggelassen und die Spalte age_rating
hinzugefügt wird.
ALTER TABLE films
DROP COLUMN date;
ALTER TABLE films
ADD COLUMN age_rating;
21. CREATE TABLE
CREATE TABLE
erstellt eine neue Tabelle in einer Datenbank. Im Folgenden erstellen wir eine Tabelle "Bibliotheken" mit vier Spalten: eine ganzzahlige Spalte namensid
, eine Zeichenspalte namens name
, eine Zeichenspalte namens version
und eine ganzzahlige Spalte namens num_downloads
.
CREATE TABLE libraries (
lib_id int,
name varchar(100),
version varchar(100),
num_downloads int
)
22. INSERT INTO
INSERT INTO
Anweisung kann verwendet werden, um neue Zeilen zu einer Tabelle hinzuzufügen. In diesem Beispiel fügen wir den Film “Doctor Strange”
zur films
Tabelle hinzu.
INSERT INTO films (movie_name, director, revenue, date, genre, language)
VALUES ("Doctor Strange 2", “Sam Raimi”, 409000000, 2022, “Action”, “English”)
23. INNER JOIN
Der Befehl INNER JOIN
wählt die Zeilen aus, deren Werte in beiden Tabellen übereinstimmen. In der folgenden Abfrage sind wir zum Beispiel die Tabellen Filme und Soundtracks auf einer gemeinsamen date
Spalte, die Filme und Soundtracks zurückgibt, die in denselben Jahren veröffentlicht wurden.
SELECT *
FROM films
INNER JOIN soundtracks
ON films.date = soundtracks.date
LIMIT 10;
24. LEFT JOIN
Eine LEFT JOIN
behält alle ursprünglichen Datensätze in der linken Tabelle und gibt fehlende Werte für alle Spalten der rechten Tabelle zurück, in denen das Verknüpfungsfeld keine Übereinstimmung gefunden hat.
SELECT *
FROM films
LEFT JOIN soundtracks
ON films.date = soundtracks.date
LIMIT 10;
25. RIGHT JOIN
Eine RIGHT JOIN
behält alle ursprünglichen Datensätze in der rechten Tabelle und gibt fehlende Werte für alle Spalten der linken Tabelle zurück, in denen das Verknüpfungsfeld keine Übereinstimmung gefunden hat.
SELECT *
FROM films
LEFT JOIN soundtracks
ON films.date = soundtracks.date
LIMIT 10;
SQL-Befehle Spickzettel
Um mehr über SQL zu erfahren, solltest du dir die folgenden Ressourcen ansehen:
Werde SQL-zertifiziert
Erfahre mehr über SQL
Kurs
Einführung in SQL
Kurs
Daten in SQL verknüpfen
Kurs