Die wichtigsten SQL-Abfragen für Einsteiger
Inhaltsverzeichnis
- 1. Abrufen von Daten aus allen Spalten
- 2. Abrufen von Daten aus bestimmten Spalten
- 3. Filtern von Daten mithilfe der WHERE-Klausel
- 4. Filtern von Daten anhand von Bedingungen, die mit dem Operator AND verknüpft sind
- 5. Filtern von Daten mithilfe von Bedingungen, die mit dem Operator OR verknüpft sind
- 6. Verwendung von DISTINCT zum Abrufen von nicht wiederholten Datensätzen
- 7. Abrufen von Daten ohne NULL in einer bestimmten Spalte
- 8. Sortieren von Daten nach einer Spalte
- 9. Sortieren von Daten nach mehr als einer Spalte
- 10. Suche nach Werten, die einem bestimmten Muster entsprechen
- 11. Verbinden von Werten aus Textspalten zu einer Zeichenkette
- 12. Mathematische Operatoren verwenden
- 13. Hinzufügen von Daten aus verschiedenen Tabellen
- 14. Finden der Schnittmenge von Datensätzen
- 15. Verknüpfung von Daten aus verschiedenen Tabellen
- 16. Aliase von Tabellen und Spalten verwenden
- 17. Zählen der Anzahl von Zeilen in einer Tabelle
- 18. Berechnen des Durchschnitts der Werte in einer Spalte
- 19. Berechnen der Summe der Werte in einer Spalte
- 20. Suche nach dem Mindestwert in einer Spalte
- 21. Suche nach dem Maximalwert in einer Spalte
- 22. Berechnen des Aggregatwerts für Gruppen von Datensätzen
- 23. Filtern von Zeilen mit Aggregatfunktionen
- 24. Entfernen von Daten aus einer Tabelle
- 25. Entfernen von Datensätzen, die eine bestimmte Bedingung erfüllen, aus einer Tabelle
- 26. Einfügen von Daten in eine Tabelle
- 27. Aktualisieren einer Spalte in einer Tabelle
- 28. Aktualisieren einer Spalte durch Filtern von Datensätzen
- 29. Erstellen einer Tabelle
- 30. Löschen einer Tabelle
- Zusammenfassung
Wie holt man Daten aus einer Tabelle? Wie erstellt oder löscht man eine Tabelle? Wie zeigt man unterschiedliche Datensätze an? Wie wählt man Zeilen aus, die einen bestimmten Wert in einer Spalte speichern? All dies können Sie ganz einfach durch das Schreiben grundlegender SQL-Abfragen erreichen.
In diesem Leitfaden werden die 30 wichtigsten SQL-Abfragen für Anfänger behandelt. Werfen wir einen Blick darauf.
1. Abrufen von Daten aus allen Spalten
Dies ist eine sehr einfache Abfrage, um alle Daten aus einer Tabelle anzuzeigen. Beachten Sie, dass diese Abfrage nur ein Zeichen nach SELECT
enthält: "*" (dies steht für alle Spalten). Daher müssen Sie die Namen der Spalten nicht auflisten. Vergessen Sie natürlich nicht, FROM
und den Namen der Tabelle, aus der Sie Daten abrufen wollen, anzugeben. In diesem Beispiel holen wir Daten aus der Tabelle animal
.
SELECT * FROM animal; |
2. Abrufen von Daten aus bestimmten Spalten
Die obige Abfrage zeigt alle Daten aus der Tabelle animal
. Wenn Sie nur Daten aus bestimmten Spalten abrufen möchten, führen Sie diese nach SELECT
auf. In diesem Beispiel rufen wir Daten aus den Spalten id
und name
ab.
SELECT id, name FROM animal; |
3. Filtern von Daten mithilfe der WHERE-Klausel
Zusätzlich zum Abruf von Daten aus bestimmten Spalten können Sie Daten auch filtern, indem Sie Bedingungen nach WHERE
auflisten. In diesem Beispiel gibt es eine Bedingung: age>=2
. Wir suchen nach Datensätzen mit einem Wert von 2 oder mehr in der Spalte age
.
SELECT id, name , age FROM animal WHERE age>=2; |
4. Filtern von Daten anhand von Bedingungen, die mit dem Operator AND verknüpft sind
Wenn Sie Daten anhand von mehr als einer Bedingung filtern möchten, können Sie AND
verwenden. In diesem Beispiel suchen wir nach Datensätzen mit einem Wert von 2 oder mehr in der Spalte age
und 'dog
' in der Spalte name
.
SELECT id, name , age FROM animal WHERE age >= 2 AND name = 'dog' ; |
5. Filtern von Daten mithilfe von Bedingungen, die mit dem Operator OR verknüpft sind
Wenn nur eine der Bedingungen erfüllt sein muss, können Sie OR
verwenden. In diesem Beispiel suchen wir nach Datensätzen mit einem Wert von 2 oder mehr in der Spalte age
oder 'dog
' in der Spalte name
.
SELECT id, name , age FROM animal WHERE age >= 2 OR name = 'dog' ; |
6. Verwendung von DISTINCT zum Abrufen von nicht wiederholten Datensätzen
Sie können DISTINCT
nach SELECT
einfügen, um nur einen Datensatz von jedem Typ abzurufen. In diesem Beispiel sollen Datensätze aus den Spalten name
und color
abgerufen werden. Wenn die Werte aus diesen Spalten in mehr als einem Datensatz gleich sind (z. B. wenn es mehr als ein gelbes T-Shirt in der Tabelle gibt), gibt die Abfrage nur einen dieser Datensätze zurück.
SELECT DISTINCT name , color FROM clothing; |
7. Abrufen von Daten ohne NULL in einer bestimmten Spalte
Wenn Sie nur Daten von Zeilen ohne NULL
in einer bestimmten Spalte abrufen möchten, verwenden Sie IS NOT NULL
. In diesem Beispiel darf der Wert in der Spalte color
nicht NULL
sein. Es werden also nur Datensätze zurückgegeben, deren Wert in der Spalte color
gespeichert ist. Ein ähnlicher Operator wie IS NOT NULL
ist IS NULL
, der prüft, ob ein Wert gleich NULL
ist.
SELECT name , color FROM clothing WHERE color IS NOT NULL ; |
8. Sortieren von Daten nach einer Spalte
Um Daten nach einer Spalte zu sortieren, setzen Sie den Spaltennamen hinter ORDER BY
. Die Standard-Sortiermethode ist alphabetisch, aber Sie können die Zeilen auch in absteigender Reihenfolge anzeigen, indem Sie DESC
nach dem Namen der Spalte hinzufügen. In diesem Beispiel sollen die Daten in den Spalten id
und name
nach der Spalte name
sortiert werden.
SELECT id, name FROM animal ORDER BY name ; |
9. Sortieren von Daten nach mehr als einer Spalte
Sie können Daten auch nach mehr als einer Spalte sortieren. In diesem Beispiel werden die Datensätze zunächst nach der Spalte name
in absteigender Reihenfolge und anschließend nach der Spalte id
in aufsteigender Reihenfolge sortiert. Wenn die Abfrage Datensätze mit demselben Namen findet (z. B. alle Datensätze mit 'dog
' im Spaltennamen), werden diese Datensätze in aufsteigender Reihenfolge nach id
sortiert.
SELECT id, name FROM animal ORDER BY name DESC , id; |
10. Suche nach Werten, die einem bestimmten Muster entsprechen
Sie können LIKE
verwenden, um Daten abzurufen, die einem bestimmten Muster entsprechen. In diesem Beispiel sollen Datensätze aus den Spalten id
und name
abgerufen werden, die eine Zeichenfolge mit dem Buchstaben "e" in der Spalte name
enthalten (z. B. Datensätze mit Namen wie Elefant, Biene usw.)
SELECT id, name FROM animal WHERE name LIKE '%e%' ; |
11. Verbinden von Werten aus Textspalten zu einer Zeichenkette
Die Funktion CONCAT
fügt Zeichenketten zusammen. In diesem Beispiel werden die in den Spalten category
und name
gespeicherten Zeichenfolgen als eine einzige Spalte von Zeichenfolgen mit einem Leerzeichen zwischen dem Wert in der Spalte category
und dem Wert in der Spalte name
zurückgegeben.
SELECT CONCAT(category, ' ' , name ) FROM tab; |
12. Mathematische Operatoren verwenden
Sie können Abfragen zur Berechnung von Werten schreiben, indem Sie mathematische Operatoren wie "+", "-", "*" und "/" verwenden. In diesem Beispiel soll der ermäßigte Preis berechnet werden, indem der Wert in der Spalte discount
von dem Wert in der Spalte price
subtrahiert wird.
SELECT price - discount FROM product; |
13. Hinzufügen von Daten aus verschiedenen Tabellen
Sie können Datensätze aus verschiedenen Tabellen mit dem Operator UNION ALL
verbinden. Denken Sie daran, dass die Datensätze den gleichen Datentyp haben müssen. In diesem Beispiel wollen wir alle Zeilen mit Nachnamen aus der Tabelle customer
und alle Zeilen mit Nachnamen aus der Tabelle employee
. Es werden alle Nachnamen abgerufen, auch wenn sie sich wiederholen. Wenn wir alle Nachnamen ohne Wiederholungen auswählen wollen, würden wir UNION
anstelle von UNION ALL
verwenden.
SELECT last_name FROM customer UNION ALL SELECT last_name FROM employee; |
14. Finden der Schnittmenge von Datensätzen
INTERSECT
gibt die Schnittmenge von zwei Datensätzen zurück. In diesem Beispiel wollen wir nur die Nachnamen abrufen, die in beiden Tabellen aufgeführt sind. Um zu sehen, was sich zwischen den Gruppen unterscheidet, verwenden Sie die Operatoren MINUS
oder EXCEPT
.
Wenn Sie mehr über Mengenoperatoren wissen und eine visuelle Erklärung dieses Konzepts sehen möchten, lesen Sie diesen Artikel.
SELECT last_name FROM customer INTERSECT SELECT last_name FROM employee; |
15. Verknüpfung von Daten aus verschiedenen Tabellen
Sie können Tabellen mit JOIN
verknüpfen, einschließlich INNER JOIN
, LEFT JOIN
, RIGHT JOIN
, FULL JOIN
und CROSS JOIN
(weitere Informationen finden Sie in den am Ende dieses Artikels aufgeführten Kursen). In diesem Beispiel wollen wir Daten aus den Tabellen customer
und city
. INNER JOIN
muss nach FROM
und dem Namen der ersten Tabelle stehen, customer
. Nach INNER JOIN
muss der Name der zweiten Tabelle stehen, city
. Die Datensätze mit Daten aus beiden Tabellen werden von ON
mit der Bedingung für die Verknüpfung abgeglichen. Die Datensätze in der Tabelle city
werden mit den Datensätzen aus der Tabelle customer
abgeglichen, wenn sie denselben Wert in der Spalte id
in der Tabelle customer
und in der Spalte customer_id
in der Tabelle city
.
SELECT customer.last_name, city. name FROM customer INNER JOIN city ON customer.id = city.customer_id; |
16. Aliase von Tabellen und Spalten verwenden
Wenn Sie Tabellen verknüpfen, ist es eine gute Idee, Aliase für Tabellen- und Spaltennamen zu verwenden. In diesem Beispiel wollen wir zwei Tabellen verbinden, customer
und city
und benennen sie c
und t
benennen. Wir definieren diese neuen Namen in FROM
oder JOIN
, indem wir AS
verwenden. In ähnlicher Weise benennen wir die Spalten last_name
in der Tabelle customer
und name
in der Tabelle city
in lname
bzw. city
um.
SELECT c.last_name AS lname, t. name AS city FROM customer AS c INNER JOIN city AS t ON c.id = t.customer_id; |
17. Zählen der Anzahl von Zeilen in einer Tabelle
COUNT
zählt die Anzahl der Zeilen. In diesem Beispiel wird die Anzahl der Werte aus der Spalte id
zurückgegeben, die in der Tabelle product
(die Anzahl aller Produkte).
SELECT COUNT (id) FROM product; |
18. Berechnen des Durchschnitts der Werte in einer Spalte
Sie können den Durchschnitt der Werte in einer Spalte mit AVG
berechnen. In diesem Beispiel gibt die Abfrage den Durchschnittspreis für alle Produkte in der Tabelle zurück product
.
SELECT AVG (price) FROM product; |
19. Berechnen der Summe der Werte in einer Spalte
SUM
berechnet die Summe der Werte in einer Spalte. In diesem Beispiel gibt sie den Wert aller Produkte zurück.
SELECT SUM (price) FROM product; |
20. Suche nach dem Mindestwert in einer Spalte
Sie können den in einer Spalte gespeicherten Mindestwert mit MIN finden. In diesem Beispiel gibt die Abfrage den Mindestpreis unter den Produkten zurück.
SELECT MIN (price) FROM product; |
21. Suche nach dem Maximalwert in einer Spalte
Sie können den in einer Spalte gespeicherten Maximalwert mithilfe von MAX
finden. In diesem Beispiel gibt die Abfrage den Höchstpreis unter den Produkten zurück.
SELECT MAX (price) FROM product; |
22. Berechnen des Aggregatwerts für Gruppen von Datensätzen
GROUP BY fasst Zeilen in Gruppen zusammen, um einen Wert zu berechnen. In diesem Beispiel verwenden wir COUNT
, um die Anzahl der Zeilen (die Anzahl der Produkte) in jeder Gruppe zu berechnen (category
). Die Spalten in SELECT
müssen in die GROUP BY
Klausel eingefügt werden. GROUP BY
kann auf die gleiche Weise mit anderen Aggregatfunktionen wie MAX
, MIN
, AVG
und SUM
verwendet werden.
SELECT category, COUNT (id) FROM product GROUP BY category; |
23. Filtern von Zeilen mit Aggregatfunktionen
Sie können Datensätze filtern, nachdem Sie die Werte für jede Gruppe mit HAVING
berechnet haben. In diesem Beispiel möchten wir Kategorien mit einem Durchschnittspreis der Produkte von weniger als 56,50 abrufen.
SELECT category, AVG (price) FROM product GROUP BY category HAVING AVG (price) < 56.50; |
24. Entfernen von Daten aus einer Tabelle
DELETE FROM
entfernt alle Daten aus einer Tabelle. In diesem Beispiel wollen wir alle Daten aus der Tabelle product
.
DELETE FROM product; |
25. Entfernen von Datensätzen, die eine bestimmte Bedingung erfüllen, aus einer Tabelle
Sie können Datensätze, die eine bestimmte Bedingung erfüllen, mit WHERE
entfernen. In diesem Beispiel möchten wir Datensätze aus der Tabelle product
mit id
gleich 5.
DELETE FROM product WHERE id = 5; |
26. Einfügen von Daten in eine Tabelle
Mit INSERT INTO
können Sie einen neuen Datensatz zu einer Tabelle hinzufügen. Geben Sie nach INSERT INTO
den Namen der Tabelle und dann in Klammern die Namen der Tabellenspalten ein. Danach geben Sie VALUES
und in den Klammern die Werte für die Spalten ein. In diesem Beispiel wollen wir 25
in id
, 'sofa
' in name
und 'furniture
' in category
in die Tabelle einfügen product
.
INSERT INTO product(id, name , category) VALUES (25, 'sofa' , 'furniture' ); |
27. Aktualisieren einer Spalte in einer Tabelle
UPDATE
ermöglicht es Ihnen, Daten in den Datensätzen zu ändern. Geben Sie nach UPDATE
den Namen der Tabelle ein, dann SET
, dann den Namen der zu ändernden Spalte mit "=" und den neuen einzufügenden Wert. Mit dieser Abfrage werden alle Werte in der Spalte geändert. In diesem Beispiel wollen wir alle Werte in der Spalte company
in 'ABC
' ändern.
UPDATE product SET company = 'ABC' ; |
28. Aktualisieren einer Spalte durch Filtern von Datensätzen
Wenn Sie jedoch nicht alle Werte in einer Spalte ändern möchten, können Sie WHERE
mit einer Bedingung hinzufügen. In der Bedingung können Sie angeben, welche Datensätze geändert werden sollen. In diesem Beispiel sollen die Werte in der Spalte name
nur für Datensätze mit id=25
in 'armchair
' geändert werden.
UPDATE product SET name = 'armchair' WHERE id = 25; |
29. Erstellen einer Tabelle
Sie können eine Tabelle mit CREATE TABLE
erstellen. Geben Sie nach CREATE TABLE
den Namen der Tabelle ein und definieren Sie in Klammern die Namen der Spalten und deren Datentypen. In diesem Beispiel wollen wir die Tabelle tab
mit zwei Spalten erstellen: id
mit dem Datentyp Integer und name
mit einer maximalen Länge von 50 Zeichen.
CREATE TABLE tab(id int , name varchar (50)); |
30. Löschen einer Tabelle
Sie können eine Tabelle mit DROP TABLE
löschen. Geben Sie einfach den Namen der Tabelle, die Sie löschen möchten, nach DROP TABLE
ein. In diesem Beispiel wollen wir die Tabelle löschen tab
.
DROP TABLE tab; |
Zusammenfassung
Die oben beschriebenen Abfragen werden sowohl von Anfängern als auch von Profis am häufigsten verwendet. Diese Abfragen benötigen Sie, um eine Tabelle zu erstellen oder zu löschen, Daten in eine Tabelle einzufügen, Datensätze zu aktualisieren oder Daten aus einer Tabelle zu entfernen.
Möchten Sie mehr über das Erstellen und Löschen von Tabellen erfahren? Möchten Sie in das Einfügen, Aktualisieren und Entfernen von Daten in SQL eintauchen? Schauen Sie sich diese hilfreichen Kurse an, in denen Sie praktische Erfahrungen sammeln können:"Erstellen von Tabellen in SQL" und"Einfügen, Aktualisieren oder Löschen von Daten in SQL". "
Wenn Sie mehr über das Überprüfen von Daten in einer Tabelle, das Filtern von Daten, das Berechnen von Aggregatwerten in Spalten oder Gruppen und das Suchen nach Werten, die einem Muster entsprechen, erfahren möchten, sehen Sie sich unseren "SQL für Anfänger" und das dazugehörige Übungsset.
Wenn Sie mehr über die Verknüpfung von Daten aus mehr als zwei Tabellen lernen möchten, verfeinern Sie Ihre Kenntnisse mit "SQL-JOINs."