SQL online lernen – in einem echten Datenbank-Client
In diesen Lektionen führen Sie Beispiele in einem Datenbank-Client aus. Die Shopdatenbank mit 23 Tabellen und rund 50.000 Zeilen ist dieselbe, die Planche als Beispiel bereitstellt. So lassen sich Joins und GROUP BY mit realistischen Daten nachvollziehen.
Unter den meisten Beispielen finden Sie die Schaltfläche In Planche ausführen. Sie öffnet die Anwendung mit geladener Beispieldatenbank und der Abfrage im Editor. Es ist keine Installation oder Kontoerstellung nötig; die Datenbank bleibt in Ihrem Browser.
Grundkurs
- Wie eine Datenbank aussieht Tabellen, Zeilen, Spalten, NULL, Primärschlüssel, eine Abfrage ausführen
- Zeilen lesen: SELECT, WHERE, ORDER BY, LIMIT SELECT, Spalten wählen, WHERE, ORDER BY, LIMIT, Spaltenaliase
- Zeilen filtern: WHERE vollständig AND-/OR-Rangfolge, IN, BETWEEN, LIKE, IS NULL
- Tabellen verbinden: JOIN INNER JOIN, Joins über mehrere Tabellen, LEFT JOIN, ON versus WHERE, Self-Joins
- Zeilen zusammenfassen: GROUP BY COUNT, SUM, AVG, MIN, MAX, GROUP BY, HAVING, COUNT DISTINCT
- Abfragen in Abfragen: Unterabfragen Skalare Unterabfragen, IN, EXISTS, NOT EXISTS, abgeleitete Tabellen, korrelierte Unterabfragen
- Abfragen in Schritten und Rechnen über Zeilen: CTEs und Fensterfunktionen WITH, verkettete CTEs, ROW_NUMBER, RANK, DENSE_RANK, SUM OVER, LAG
- Daten ändern: INSERT, UPDATE, DELETE INSERT, UPDATE, DELETE, Primärschlüsselkonflikte, BEGIN / COMMIT / ROLLBACK
- Warum ist das langsam? Indizes und EXPLAIN EXPLAIN QUERY PLAN, Table Scans, Indexsuchen, indexfähige Bedingungen
Nach Dialekt
- Paging: LIMIT, OFFSET … FETCH, TOP, ROWNUM LIMIT / OFFSET, OFFSET … FETCH, TOP, ROWNUM, Keyset-Paging
- Upsert: eine Zeile einfügen oder die vorhandene aktualisieren ON CONFLICT DO UPDATE / DO NOTHING, ON DUPLICATE KEY UPDATE, MERGE, INSERT OR REPLACE
- Zeichenketten und Datumsangaben, Engine für Engine Verkettung, Datumsformatierung, Datumsdifferenzen, COALESCE / IFNULL / ISNULL / NVL
- UPDATE und DELETE über zwei Tabellen Unterabfrage- und EXISTS-Form, UPDATE … JOIN, UPDATE … FROM, DELETE … USING, aktualisierbare Join-Sichten