Katschmarz Software
Professionelle Softwareentwicklung
Beginners Guide
Kategorie: SQL
Erstellt am: 2026-01-11 14:29:10
SQL Beginner Guide
SQL (Structured Query Language) ist die Standardsprache, um mit relationalen Datenbanken zu arbeiten. Mit SQL kannst du Daten erstellen, lesen, ändern, löschen, filtern, sortieren, verknüpfen und auswerten. Dieser Guide führt dich Schritt für Schritt durch die wichtigsten Standardbefehle und zeigt praktische Beispiele.
| Kapitel | Titel | Kurzbeschreibung | Typische Schlüsselbefehle |
|---|---|---|---|
| 1 | Grundbegriffe | Einführung in Tabellen, Datenbanken und die wichtigsten SQL-Befehlstypen (DDL, DML, DQL). | CREATE, INSERT, SELECT (als Beispiele der Kategorien) |
| 2 | SELECT – Daten abfragen | Abfragen von Daten aus einer oder mehreren Tabellen, Auswahl bestimmter Spalten oder aller Spalten. | SELECT, FROM |
| 3 | WHERE – Daten filtern | Filtern von Ergebnissen mit Bedingungen, Nutzung von Vergleichsoperatoren und Textmustern. | WHERE, LIKE, Vergleichsoperatoren (=, >, <=) |
| 4 | ORDER BY – Ergebnisse sortieren | Sortieren der Ergebnisliste nach einer oder mehreren Spalten, auf- oder absteigend. | ORDER BY, ASC, DESC |
| 5 | LIMIT – Anzahl der Ergebnisse begrenzen | Begrenzen der Anzahl zurückgegebener Zeilen, z. B. für Vorschauen oder Top-Listen. | LIMIT |
| 6 | INSERT – Daten einfügen | Einfügen neuer Datensätze in eine Tabelle, einzeln oder in mehreren Zeilen. | INSERT INTO, VALUES |
| 7 | UPDATE – Daten ändern | Anpassen bestehender Datensätze, z. B. Preisänderungen oder Korrekturen. | UPDATE, SET, WHERE |
| 8 | DELETE – Daten löschen | Löschen von Datensätzen, gezielt mit Bedingungen oder (vorsichtig) vollständig. | DELETE FROM, WHERE |
| 9 | CREATE TABLE – Tabellen erstellen | Definieren neuer Tabellen mit Spalten, Datentypen und Primärschlüsseln. | CREATE TABLE, Datentypen (INT, VARCHAR, DECIMAL) |
| 10 | JOIN – Tabellen verbinden | Verknüpfen von Tabellen über gemeinsame Schlüssel, um kombinierte Daten auszulesen. | JOIN, INNER JOIN, LEFT JOIN, ON |
| 11 | GROUP BY & Aggregatfunktionen | Gruppieren von Daten und Berechnen von Statistiken wie Anzahl, Summe oder Durchschnitt. | GROUP BY, COUNT(), SUM(), AVG(), MIN(), MAX() |
Kapitel 1
Grundbegriffe
Tabelle
Eine Tabelle ist in SQL vergleichbar mit einem Tabellenblatt in Excel. Sie besteht aus Zeilen und Spalten, die gemeinsam strukturierte Daten abbilden.
Zeilen (Rows): Jede Zeile stellt einen vollständigen Datensatz dar. Ein Datensatz kann z. B. ein Produkt, ein Kunde oder eine Bestellung sein. Jede Zeile enthält also alle Informationen, die zu einem einzelnen Objekt gehören.
Spalten (Columns): Spalten definieren die Struktur der Daten. Jede Spalte steht für ein bestimmtes Feld bzw. eine Eigenschaft eines Datensatzes, z. B. Name, Preis, Kategorie oder Datum. Alle Zeilen teilen sich dieselben Spalten, sodass die Daten einheitlich aufgebaut sind.
| id | name | preis | kategorie |
|---|---|---|---|
| 1 | Kaffee | 4.99 | Getränke |
| 2 | Tee | 3.49 | Getränke |
| 3 | Keks | 2.99 | Snacks |
Datenbank
Eine Datenbank ist eine Sammlung von Tabellen, die logisch zusammengehören. Beispielsweise kann eine Shop-Datenbank Tabellen wie produkte, kunden, bestellungen usw. enthalten.
SQL-Befehlstypen
SQL-Befehle werden in verschiedene Kategorien eingeteilt:
| Typ | Bedeutung | Beispiele |
|---|---|---|
| DDL | Data Definition Language – definiert die Struktur (Tabellen, Spalten) | CREATE, ALTER, DROP |
| DML | Data Manipulation Language – arbeitet mit den Daten | INSERT, UPDATE, DELETE |
| DQL | Data Query Language – fragt Daten ab | SELECT |
| DCL | Data Control Language – Rechte und Berechtigungen | GRANT, REVOKE |
| TCL | Transaction Control Language – Transaktionen steuern | COMMIT, ROLLBACK |
Kapitel 2
SELECT – Daten abfragen
SELECT ist der wichtigste SQL-Befehl. Damit liest du Daten aus Tabellen.
Grundsyntax
SELECT spalten
FROM tabelle;Beispiel: Namen und Preise aller Produkte abfragen:
SELECT name, preis
FROM produkte;Alle Spalten auswählen
Mit dem Stern (*) wählst du alle Spalten der Tabelle aus.
SELECT *
FROM produkte;Kapitel 3
WHERE – Daten filtern
Mit der WHERE-Klausel kannst du die angezeigten Datensätze einschränken, ähnlich wie ein Filter in Excel.
Vergleichsoperatoren
Beispiel: Produkte mit exakt 10 Euro Preis:
SELECT *
FROM produkte
WHERE preis = 10;Beispiele: Größer / kleiner / kleiner-gleich:
SELECT *
FROM produkte
WHERE preis > 50;
SELECT *
FROM produkte
WHERE preis <= 20;Textsuche mit LIKE
Mit LIKE kannst du nach Mustern suchen. Das Prozentzeichen (%) steht für beliebig viele Zeichen.
SELECT *
FROM produkte
WHERE name LIKE '%Kaffee%';Dieses Beispiel findet alle Produkte, deren Name das Wort „Kaffee“ irgendwo enthält.
Mehrere Bedingungen kombinieren
Du kannst Bedingungen mit AND und OR kombinieren.
SELECT *
FROM produkte
WHERE preis > 10 AND kategorie = 'Getränke';Dieses Beispiel findet alle Getränke mit einem Preis größer als 10.
Kapitel 4
ORDER BY – Ergebnisse sortieren
Mit ORDER BY sortierst du die Ergebnisliste nach einer oder mehreren Spalten.
Aufsteigend sortieren
SELECT *
FROM produkte
ORDER BY preis ASC; -- ASC = aufsteigendAbsteigend sortieren
SELECT *
FROM produkte
ORDER BY preis DESC; -- DESC = absteigendNach mehreren Spalten sortieren
SELECT *
FROM produkte
ORDER BY kategorie ASC, preis DESC;Hier wird zuerst nach Kategorie (A–Z) und innerhalb der Kategorie nach Preis (höchster zuerst) sortiert.
Kapitel 5
LIMIT – Anzahl der Ergebnisse begrenzen
Mit LIMIT kannst du die Anzahl der zurückgegebenen Zeilen begrenzen, z. B. um nur einen Auszug der Daten anzuzeigen.
SELECT *
FROM produkte
LIMIT 5;Dieses Beispiel gibt nur die ersten 5 Datensätze zurück. In manchen Datenbanksystemen heißt das Äquivalent z. B. TOP (wie in SQL Server) oder wird über FETCH gesteuert.
Kapitel 6
INSERT – Daten einfügen
Mit INSERT fügst du neue Datensätze in eine Tabelle ein.
Ein einzelner Datensatz
INSERT INTO produkte (name, preis, kategorie)
VALUES ('Kaffee', 4.99, 'Getränke');Mehrere Datensätze auf einmal
INSERT INTO produkte (name, preis, kategorie)
VALUES
('Kaffee', 4.99, 'Getränke'),
('Tee', 3.49, 'Getränke'),
('Keks', 2.99, 'Snacks');Kapitel 7
UPDATE – Daten ändern
Mit UPDATE passt du bestehende Datensätze an. Nutze dabei unbedingt eine sinnvolle WHERE-Bedingung.
Ein Feld ändern
UPDATE produkte
SET preis = 5.49
WHERE name = 'Kaffee';Mehrere Felder auf einmal ändern
UPDATE produkte
SET preis = 5.49,
kategorie = 'Heiße Getränke'
WHERE name = 'Kaffee';UPDATE ohne WHERE verwendest, werden alle Datensätze in der Tabelle geändert.Kapitel 8
DELETE – Daten löschen
Mit DELETE entfernst du Datensätze aus einer Tabelle.
Gezielt löschen
DELETE FROM produkte
WHERE name = 'Kaffee';Mehrere Datensätze löschen
DELETE FROM produkte
WHERE kategorie = 'Snacks';DELETE FROM produkte; ohne WHERE-Klausel löscht alle Datensätze der Tabelle.Kapitel 9
CREATE TABLE – Tabellen erstellen
Mit CREATE TABLE legst du eine neue Tabelle mit ihren Spalten und Datentypen an.
Beispiel für eine Produkttabelle
CREATE TABLE produkte (
id INT PRIMARY KEY,
name VARCHAR(100),
preis DECIMAL(10,2),
kategorie VARCHAR(50)
);Wichtige Punkte:
- id INT PRIMARY KEY: Eindeutige Kennung jedes Datensatzes.
- VARCHAR(100): Textfeld mit maximal 100 Zeichen.
- DECIMAL(10,2): Zahl mit 10 Stellen, davon 2 Nachkommastellen (z. B. für Preise).
Kapitel 10
JOIN – Tabellen miteinander verbinden
Relationale Datenbanken bestehen meist aus mehreren Tabellen, die über Schlüsselwerte miteinander verknüpft sind. Mit JOIN kannst du Daten aus diesen Tabellen kombinieren.
Beispielszenario
Wir haben zwei Tabellen:
produkte
| id | name | kategorie_id |
|---|---|---|
| 1 | Kaffee | 1 |
| 2 | Tee | 1 |
| 3 | Keks | 2 |
kategorien
| id | titel |
|---|---|
| 1 | Getränke |
| 2 | Snacks |
INNER JOIN Beispiel
SELECT p.name, k.titel
FROM produkte p
JOIN kategorien k ON p.kategorie_id = k.id;Ergebnis: Du erhältst eine Liste von Produktnamen mit der dazugehörigen Kategoriebezeichnung, z. B. „Kaffee – Getränke“.
JOIN-Typen (Überblick)
- INNER JOIN: Nur Datensätze, die in beiden Tabellen passende Werte haben.
- LEFT JOIN: Alle Datensätze der linken Tabelle, auch wenn keine passende Zeile in der rechten existiert.
- RIGHT JOIN: Alle Datensätze der rechten Tabelle (je nach Datenbanksystem).
- FULL OUTER JOIN: Alle Datensätze beider Tabellen (nicht in allen Systemen verfügbar).
Kapitel 11
GROUP BY – Daten gruppieren
Mit GROUP BY fasst du Datensätze nach gemeinsamen Werten zusammen, z. B. für Statistiken oder Auswertungen.
Produkte nach Kategorie zählen
SELECT kategorie, COUNT(*) AS anzahl
FROM produkte
GROUP BY kategorie;Dieses Beispiel zählt, wie viele Produkte es pro Kategorie gibt.
Umsatz pro Kategorie summieren (Beispiel)
SELECT kategorie, SUM(preis) AS gesamtpreis
FROM produkte
GROUP BY kategorie;Kapitel 12
Aggregatfunktionen
Aggregatfunktionen berechnen Werte über mehrere Zeilen hinweg (z. B. Anzahl, Summe, Durchschnitt).
| Funktion | Bedeutung | Beispiel |
|---|---|---|
| COUNT() | Zählt Datensätze | SELECT COUNT(*) FROM produkte; |
| SUM() | Berechnet die Summe | SELECT SUM(preis) FROM produkte; |
| AVG() | Berechnet den Durchschnitt | SELECT AVG(preis) FROM produkte; |
| MIN() | Gibt den kleinsten Wert zurück | SELECT MIN(preis) FROM produkte; |
| MAX() | Gibt den größten Wert zurück | SELECT MAX(preis) FROM produkte; |
Beispiel: Durchschnittspreis
SELECT AVG(preis) AS durchschnittspreis
FROM produkte;Kapitel 13
Praktisches Komplettbeispiel
Im folgenden Beispiel siehst du einen typischen kleinen Workflow: Tabelle erstellen, Daten einfügen und anschließend abfragen.
-- Tabelle "kunden" erstellen
CREATE TABLE kunden (
id INT PRIMARY KEY,
name VARCHAR(100),
land VARCHAR(50)
);
-- Daten einfügen
INSERT INTO kunden (id, name, land)
VALUES
(1, 'Anna', 'Deutschland'),
(2, 'Tom', 'Österreich'),
(3, 'Lena', 'Schweiz');
-- Daten abfragen
SELECT name
FROM kunden
WHERE land = 'Deutschland'
ORDER BY name ASC;Kapitel 14
Tipps für Einsteiger
Allgemeine Hinweise:
- Groß-/Kleinschreibung: SQL-Befehle sind in der Regel nicht case-sensitiv (
SELECT=select), aber Tabellennamen können je nach System empfindlich sein. - Strings: Textwerte werden in einfachen Anführungszeichen geschrieben:
'Beispiel'. - Aliase: Mit
ASkannst du Spalten und Tabellen kürzer oder lesbarer machen.
Beispiel für Aliase
SELECT p.name AS produktname, p.preis
FROM produkte AS p;Sicher mit UPDATE und DELETE arbeiten
- Immer zuerst mit SELECT testen: Formuliere deine WHERE-Bedingung zuerst in einem
SELECT-Statement und prüfe das Ergebnis. - Transaktionen nutzen: In produktiven Systemen solltest du nach Möglichkeit Transaktionen verwenden (
BEGIN,COMMIT,ROLLBACK), um Änderungen notfalls rückgängig machen zu können.
💬 Kommentare (0)
Kommentar hinterlassen
Noch keine Kommentare. Sei der/die Erste!