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, nameFROM 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, ageFROM animalWHERE 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 animalWHERE 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 animalWHERE 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, colorFROM 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, colorFROM clothingWHERE 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 animalORDER 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 animalORDER 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 animalWHERE 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 - discountFROM 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 customerUNION ALLSELECT 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 customerINTERSECTSELECT 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 customerINNER 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 cityFROM customer AS cINNER 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 productGROUP 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 productGROUP BY categoryHAVING 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 productWHERE 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 productSET 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."
FAQs
Was sind die wichtigsten SQL Befehle? ›
- Data Definition Language (DDL) – Datendefinitions-Sprache.
- Data Manipulation Language (DML) – Datenmanipulations-Sprache.
- Data Query Language (DQL) – Datenabfrage-Sprache.
- Data Control Language (DCL) – Datenkontroll-Sprache.
- Verschwende zu Anfang keine Zeit. Befasse dich nicht sofort mit der Installation und Administration eines richtigen, großen Datenbanksystems. ...
- Mache die ersten Gehversuche. ...
- Finde einfache Beispiele. ...
- Tausche dich mit anderen Lernenden aus. ...
- Spezialisiere dich.
SQL oder „Structured Query Language“ ist eine Programmiersprache für die Bearbeitung von Daten und relationalen Datenbanksystemen. Diese Sprache wird hauptsächlich für die Kommunikation mit Datenbanken verwendet, um die darin enthaltenen Daten zu verwalten.
Wie lange dauert es SQL zu lernen? ›Wie lange dauert es SQL zu lernen? Durch die relativ einfache und sprach-ähnliche Syntax kannst du die Grundlagen von SQL schnell lernen. Innerhalb weniger Tage wirst du erfolgreich eine Beispieldatenbank erzeugen und mit Daten füllen können. Auch Abfragen und Datenänderungen wirst du schnell durchführen können.
Ist es schwer SQL zu lernen? ›Ist SQL einfach? Einfache Frage, einfache Antwort: Ja, SQL ist für den/die AnwenderIn in der Handhabung sehr einfach! Trotzdem sind mit SQL auch hochkomplizierte Abfragen möglich. Die einzelnen Befehle von SQL sind sehr eingängig und leicht zu erlernen.
Welche SQL-Befehle gibt es? ›INFO | ERKLÄRUNG |
---|---|
SELECT * FROM tabellen_name | wählt alle Spalten der Tabelle aus |
DISTINCT spalte | schließt doppelte Zeilen aus |
ORDER BY spalte [desc/asc] | sortiert in bestimmter Reihenfolge |
ORDER BY alias_spalte | sortiert nach Aliasnamen |
Auch wenn diese Glanzzeiten längst vergangen sind, so sind SQL-Datenbanken immer noch weit verbreitet. Das gilt vor allem für Legacy-Systeme, aber auch für aktuelle transaktionsorientierte Anwendungen, die natives SQL als Abfragesprache einsetzen und ACID-Transaktionen priorisieren.
Wie viel RAM braucht ein SQL Server? ›Wir empfehlen mindestens die Hälfte der Grösse der installierten Datenbanken dem SQL-Server an RAM zur Verfügung zu stellen. Hat also die Datenbank eine Grösse von 20 GB, so soll der Server mindestens 10 GB RAM dem SQL-Server bereitstellen können. Der SQL-Server nutzt so viel RAM er kann um Daten zwischen zu speichern.
Was ist SQL leicht erklärt? ›SQL ist die Abkürzung für Structured Query Language, die sich als Standardsprache für die Kommunikation mit zweidimensionalen, relationalen Datenbanken durchgesetzt hat. Mit Hilfe von SQL können Datentabellen erstellt, miteinander verknüpft und editiert werden.
Ist es sinnvoll SQL zu lernen? ›Lohnt es sich, SQL im Jahr 2022 zu lernen? Ja, die Beherrschung von SQL ist auch im Jahr 2022 noch wertvoll. Der Grund dafür ist, dass SQL eine beliebte Programmiersprache ist und auch heute noch eine der ersten Wahl für Softwareanwendungen ist. Viele der wichtigsten RDBMS-Frameworks verwenden SQL.
Wo kann man SQL üben? ›
Es genügt die . NET1. 1-Laufzeitumgebung, der Zugriff auf die Datenbank erfolgt über das Programm. Wer Sql online lernen möchte: Ab sofort (13.11.2017) gibt es unter Sql Online Tool - https://sql.server-daten.de/de/abfragen.html die Möglichkeit, Sql-Abfragen einzutippen und sich das Ergebnis anzusehen.
Welches Programm für SQL? ›Tool | Betriebssystem |
---|---|
Azure Data Studio | Windows macOS Linux |
SQL Server Management Studio (SSMS) | Windows |
SQL Server Data Tools (SSDT) | Windows |
Visual Studio Code | Windows macOS Linux |
Die Obergrenze im Beruf SQL-Entwickler/in liegt bei 62.300 €. Die Untergrenze hingegen bei rund 44.200 €. Wer einen Job als SQL-Entwickler/in sucht, findet eine hohe Anzahl an Jobangeboten in den Städten Berlin, München, Hamburg.
Was kostet eine SQL Lizenz? ›On-Premise | Neu | |
---|---|---|
Preis/Lizenz1 | Gesamtkosten nach 3 Jahren | |
SQL Server 2019 Standard | 961 € | 721 € |
SQL Server 2019 Standard 2-Core | 3.838 € | 2.879 € |
SQL Server 2019 Enterprise 2-Core | 14.718 € | 11.039 € |
SQL Server 2022 Developer ist eine voll ausgestattete, kostenlose Edition, die für die Nutzung als Entwicklungs- und Testdatenbank in einer Nicht-Produktionsumgebung lizenziert ist.
Was sind DDL Befehle? ›Die Data Definition Language (DDL) umfasst alle Befehle in SQL, die zur Erzeugung und Bearbeitung von Tabellen in der Datenbank genutzt werden.
Wie lautet der SQL Befehl zum Anlegen einer Tabelle? ›Die Netezza SQL-Syntax zum Erstellen einer Tabelle ohne Angabe eines Verteilungsschlüssels lautet wie folgt: CREATE TABLE <Tabellenname> (col1 int, col2 int, col3 int); Das Netezza-System wählt einen Verteilungsschlüssel aus.
Wie ist ein SQL Befehl aufgebaut? ›Die SQL-Befehle sind maximal 256-Zeichen lang und müssen mit Semikolon abgeschlossen werden. Attributbezeichner, die Leerzeichen oder Satzzeichen enthalten müssen in eckigen Klammen gesetzt werden.
Welche Datentypen gibt es in SQL? ›- Genaue numerische Werte. Unicode-Zeichenfolgen.
- Ungefähre numerische Werte. Binärzeichenfolgen.
- Datum und Uhrzeit. Andere Datentypen.
- Zeichenfolgen.
- bigint. numeric.
- bit. smallint.
- decimal. smallmoney.
- int. tinyint.