10 Finger Schreiben ist in der Programmierung von Bedeutung. Sie sind effizienter, wenn Sie schnelle Tipptechniken verwenden, um Code in der Programmiersprache SQL zu schreiben.
Programmieren in SQL und 10 Finger Schreiben
SQL zu lernen und das 10 Finger Schreiben zu üben passt gut zusammen. SQL-Abfragen sind voll von Klammern, Kommas, Operatoren und Anführungszeichen. Kleine Fehler, wie ein falsches Anführungszeichen oder ein fehlendes Semikolon, können dazu führen, dass eine gesamte Abfrage nicht funktioniert. Beim Schreiben von SQL ist es wichtig zu wissen, welche Teile der Syntax in allen Datenbanken gleich sind und welche spezifisch für ein bestimmtes System sind. Dieser Artikel konzentriert sich hauptsächlich auf PostgreSQL, erwähnt aber auch MySQL, SQLite und SQL Server dort, wo sich die Syntax unterscheidet.
Was ist charakteristisch für die SQL-Syntax?
SQL (Structured Query Language) ist eine deklarative Sprache. Anstatt Schritt für Schritt zu beschreiben, wie Daten geholt werden, gibt man an, welche Daten man benötigt. Fast jede Anweisung beginnt mit einem Schlüsselwort wie SELECT
, INSERT
oder UPDATE
. Die Reihenfolge der Klauseln ist festgelegt: SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ...
. PostgreSQL und MySQL teilen diese Reihenfolge, sodass man sie leicht in beiden Systemen anwenden kann.
SELECT id, name
FROM customers
WHERE active = true
ORDER BY created_at DESC;
Sonderzeichen, die man oft tippt
SQL enthält viele Satzzeichen. Runde Klammern ()
umschließen Funktionen und Bedingungen. Kommas ,
trennen Spalten. Der Punkt .
wird für Schema- und Tabellennamen verwendet, z. B. public.users
. Einfache Anführungszeichen '...'
kennzeichnen Zeichenketten. PostgreSQL verwendet doppelte Anführungszeichen "..."
für Bezeichner, während MySQL Backticks `...`
nutzt. In SQL Server findet man auch eckige Klammern [...]
. Diese Symbole richtig zu tippen, ist entscheidend, um fehlerfreie Abfragen zu schreiben.
-- Zeichenkette
SELECT * FROM books WHERE title = 'War and Peace';
-- Bezeichner mit Leerzeichen (PostgreSQL)
SELECT "Order ID", "Customer Name" FROM orders;
Groß- und Kleinschreibung
Nach Konvention werden SQL-Schlüsselwörter meist in Großbuchstaben geschrieben: SELECT
, FROM
, WHERE
. Das erleichtert das Erkennen in Abfragen, ist aber nicht zwingend. In PostgreSQL werden nicht zitierte Bezeichner automatisch in Kleinbuchstaben umgewandelt, sodass MyTable
und mytable
gleich behandelt werden. In MySQL hängt das Verhalten vom Betriebssystem ab. Für Tippübungen ist es sinnvoll, Schlüsselwörter in Großbuchstaben zu schreiben, da dies die Struktur der Abfrage verdeutlicht.
Semikolon und Anweisungsende
In PostgreSQL endet jede Anweisung normalerweise mit einem Semikolon ;
. Wenn man es vergisst, kann die Ausführung in Tools wie psql
scheitern. MySQL und SQLite sind in interaktiven Shells toleranter, dennoch bleibt das Semikolon Best Practice. Dieses kleine Zeichen ist häufig der Grund, warum eine Abfrage nicht funktioniert.
SELECT-Abfragen und Joins
Abfragen schreiben bedeutet oft Joins zu schreiben. PostgreSQL nutzt INNER JOIN
, LEFT JOIN
und RIGHT JOIN
. Jeder Join erfordert das Schlüsselwort ON
gefolgt von einer Bedingung. Ein fehlendes Leerzeichen oder ein Tippfehler in der Bedingung macht die Abfrage ungültig. Joins zu üben hilft, Genauigkeit bei Symbolen wie =
und .
zu entwickeln.
SELECT c.id, c.name, o.amount
FROM customers c
INNER JOIN orders o ON o.customer_id = c.id
WHERE o.amount > 100;
Funktionen und Ausdrücke
PostgreSQL bietet viele eingebaute Funktionen wie COUNT()
, SUM()
und AVG()
. Klammern sind dabei immer erforderlich. Datums- und Zeitfunktionen wie NOW()
oder DATE_TRUNC()
sind typisch für PostgreSQL. MySQL hat vergleichbare Funktionen wie CURDATE()
oder DATE_FORMAT()
. Diese korrekt zu tippen erfordert Sorgfalt mit Unterstrichen, Kommas und Klammern.
SELECT DATE_TRUNC('month', created_at) AS month,
COUNT(*) AS orders
FROM orders
GROUP BY month
ORDER BY month;
INSERT, UPDATE, DELETE
Befehle zum Ändern von Daten enthalten viele Satzzeichen. INSERT
nutzt Klammern und Kommas für Spalten und Werte. UPDATE
verwendet =
getrennt durch Kommas. DELETE
kombiniert Schlüsselwörter mit Bedingungen. Diese Strukturen sind in PostgreSQL, MySQL, SQLite und SQL Server fast identisch, nur die Regeln für Anführungszeichen unterscheiden sich.
INSERT INTO users (id, name, email)
VALUES (1, 'Alice', 'a@example.com');
UPDATE users
SET name = 'Bob', email = 'bob@example.com'
WHERE id = 1;
DELETE FROM users WHERE id = 2;
Common Table Expressions (CTE)
PostgreSQL verwendet häufig CTEs (Common Table Expressions), die mit dem Schlüsselwort WITH
beginnen. CTEs enthalten oft viele Klammern und Kommas, weshalb sie sich gut für Tippübungen eignen. MySQL und SQLite unterstützen sie in neueren Versionen, und auch SQL Server akzeptiert sie. Die größte Schwierigkeit ist das richtige Setzen der Klammern.
WITH recent_orders AS (
SELECT * FROM orders WHERE created_at > NOW() - INTERVAL '30 days'
)
SELECT customer_id, COUNT(*) AS order_count
FROM recent_orders
GROUP BY customer_id;
Fensterfunktionen
PostgreSQL ist bekannt für seine erweiterten Fensterfunktionen. Die typische Syntax OVER (PARTITION BY ... ORDER BY ...)
erfordert genaues Tippen von Klammern und Schlüsselwörtern. MySQL und SQL Server unterstützen ebenfalls Fensterfunktionen, aber PostgreSQL gilt oft als Referenz.
SELECT customer_id,
SUM(amount) OVER (PARTITION BY customer_id ORDER BY created_at) AS running_total
FROM payments;
Parameter und Platzhalter
In Anwendungen unterscheiden sich die Platzhalter je nach Datenbank. PostgreSQL nutzt $1, $2
, MySQL und SQLite verwenden ?
, und SQL Server @p1
. Diese kleinen Symbole sind leicht falsch zu tippen, aber entscheidend für die Ausführung.
-- PostgreSQL
SELECT * FROM users WHERE id = $1;
-- MySQL
SELECT * FROM users WHERE id = ?;
Zusammenfassung
Nach Konvention schreibt man SQL-Schlüsselwörter meist in Großbuchstaben, während Bezeichner klein bleiben, außer wenn sie zitiert werden. PostgreSQL verwendet doppelte Anführungszeichen für Bezeichner, Platzhalter $n
, CTEs und Fensterfunktionen. MySQL verwendet Backticks und ?
-Platzhalter. SQL Server nutzt eckige Klammern und Parameter mit @
. SQLite hat eine einfache Syntax, erfordert aber ebenfalls Genauigkeit. SQL-Abfragen zu tippen trainiert Präzision bei Satzzeichen, Schlüsselwörtern und Symbolen. Der Fokus auf PostgreSQL bietet Praxis mit einer der am weitesten verbreiteten modernen Datenbanken.