SQL – Structured Query Language
SQL = Structured Query Language“ (übersetzt: „Strukturierte Abfrage-Sprache“) entwickelt in den 1970er Jahren. SQL ist eine Datenbankabfragesprache zur Definition von Datenstrukturen in relationalen Datenbanken. Darüber hinaus dient SQL zum Bearbeiten (Erstellen von Tabellen, Einfügen, Verändern sowie Löschen von Daten) und Entwerfen von Abfragen bezogen auf die vorhandenen / basierenden Datenbeständen.
Die Sprache SQL basiert auf der relationalen Algebra (=eine Menge von Operationen zur Bearbeitung/Veränderung bzw. Manipulation von Relationen (Tabellen)), ihre Syntax (Quellcode) ist relativ einfach aufgebaut, in Anlehnung an die englische Umgangssprache
SQL Abfragen bestehen grundsätzlich aus drei Teilen und schließen immer mit einem Semikolon ab!
SELECT | Teil 1 der Abfrage: Hier werden die Spalten/Attribute gewählt. Eine Teilauswahl ist möglich, wird eine komplette Kopie der Tabelle benötigt, so ersetzt der Anwender sämtliche Spalten durch ein * |
FROM | Teil 2 der Abfrage: Hier wird die benötigte Tabelle benannt |
WHERE | Teil 3 der Abfrage – nicht zwingend erforderlich: Hier werde Bedingungen festgelegt, um das Ergebnis der Abfrage zu konkretisieren/zu verfeinern |
Basisabfragen von Daten
- Abfragen von bestimmten Datenbank-Spalten (Attribute)
SELECT spalte1, spalte2, …
FROM tabelle;
- Abfragen aller Spalten (Kopie)
SELECT *
FROM tabelle;
- Abfrage von bestimmten oder allen Spalten ohne doppelte Aufführung der Datensätze
SELECT DISTINCT spalte1, spalte2,…
FROM tabelle;
Daten filtern mit Hilfe von Bedingungen
- Einfache WHERE-Klausel
SELECT *
FROM tabelle
WHERE spalte = ‚Wert‘;
- Logische Operationen, eine Verknüpfung der Operatoren AND bzw. OR jederzeit möglich oder einzeln anwendbar, je nach Bedarf.
SELECT spalte1, spalte2, …
FROM tabelle
WHERE (spalte1 = ‚Wert1‘ AND spalte 2 = ‚Wert2‘);
SELECT spalte1, spalte2, …
FROM tabelle
WHERE (spalte1 = ‚Wert1‘ OR spalte 2 = ‚Wert2‘);
- Größer- und Kleiner-Vergleiche, wobei die Werte Zahlen aber auch ein Datum darstellen kann.
SELECT *
FROM tabelle
WHERE spalte1 < Wert1 AND spalte2 > Wert2;
SELECT *
FROM tabelle
WHERE spalte1 < 10 AND spalte2 >5;
Daten sortieren
- Daten aufsteigend sortieren
SELECT spalte1, spalte2, …
FROM tabelle
ORDER BY spalte1, spalte2;
- Daten absteigend sortieren
SELECT spalte1, spalte2, …
FROM tabelle
ORDER BY spalte1 DESC;