SQL lernen von null bis fortgeschritten: Ein praktischer Fahrplan

Wie können Sie SQL lernen, von null bis zum Fortgeschrittenen?
SQL lernen gelingt am besten mit einem gestuften Fahrplan: Zunächst lesen Sie Daten mit SELECT, WHERE und ORDER BY, dann verknüpfen Sie Tabellen mit JOIN und GROUP BY, danach folgen Unterabfragen, CTEs und Fensterfunktionen. Jede Stufe üben Sie an einem echten Datensatz, nicht nur an Übungstabellen.
In diesem Leitfaden zeige ich, wie Sie SQL lernen, so wie ich es selbst im Alltag nutze. Seit 2012 arbeite ich im Online Marketing und in Webprojekten. Jede Woche frage ich Kampagnendaten, Bestelltabellen und CRM Einträge mit SQL ab. Deshalb bekommen Sie hier keinen akademischen Lehrplan, sondern die Reihenfolge, die ich Kunden und Teammitgliedern empfehle.
Fragen aus Vorstellungsgesprächen behandle ich hier nicht. Stattdessen geht es nur um die Lernreihenfolge und die Übungsroutine. Weitere Beiträge finden Sie in der Kategorie Software.
Warum lohnt es sich heute noch, SQL zu lernen?
SQL entstand aus dem relationalen Modell, das in den 1970er Jahren bei IBM entwickelt wurde. Später haben ANSI und ISO die Sprache standardisiert. Trotzdem ist SQL bis heute die gemeinsame Sprache von PostgreSQL, MySQL, SQL Server, SQLite und BigQuery. Die Grundlagen, die Sie einmal lernen, nutzen Sie daher in vielen Werkzeugen.
In der Entwicklerumfrage von Stack Overflow gehört SQL seit Jahren zu den meistgenutzten Sprachen. Der genaue Anteil ändert sich jedes Jahr, also nenne ich hier keine Zahl. Die aktuelle Tabelle finden Sie auf der offiziellen Seite der Umfrage.
Mein eigener Grund ist praktischer. Ein Dashboard verrät Ihnen zum Beispiel selten, welche Kategorie Wiederholungskäufe auslöst. Ebenso bleibt oft verborgen, welche Kampagne die Retourenquote still erhöht. Sobald Sie der Rohtabelle eine Frage stellen können, finden Sie die Antwort selbst. Zudem hängen Sie nicht mehr vom Bericht eines anderen ab.
Was sollten Sie einrichten, bevor Sie SQL lernen?
Eine aufwendige Installation brauchen Sie nicht. Aus meiner Sicht ist der sauberste Weg, mit SQLite zu beginnen und nach einigen Wochen zu PostgreSQL zu wechseln. SQLite braucht keinen Server. Sie öffnen eine Datei und schreiben dann sofort Abfragen.
- SQLite mit DB Browser for SQLite: Die Installation dauert Minuten, und Sie sehen Tabellen auch grafisch.
- PostgreSQL mit pgAdmin oder DBeaver: Echte Servererfahrung und starke Fensterfunktionen.
- Übungsumgebungen im Browser: Mit DB Fiddle testen Sie Abfragen ohne Installation.
- Ein Datensatz: Ihr eigener Verkaufsexport, ein offenes Datenportal oder eine CSV Datei von Kaggle.
Grübeln Sie allerdings nicht wochenlang über Werkzeuge. Die Grundsyntax bleibt weitgehend gleich. Unterschiede zeigen sich vor allem bei Datumsfunktionen, beim Verketten von Text und beim Blättern durch Ergebnisse. Wählen Sie also am ersten Tag ein Werkzeug und schreiben Sie Ihre erste Abfrage.
Beginnen Sie zudem mit einem kleinen Datensatz. Ein paar tausend Zeilen, deren Bedeutung Sie kennen, lehren mehr als Millionen fremder Zeilen. Denn so prüfen Sie das Ergebnis auch mit gesundem Menschenverstand. Kennen Sie etwa die Bestellzahl des letzten Monats, fällt Ihnen eine falsche Abfrage sofort auf.
Welche SELECT Befehle sollten Sie in der ersten Woche lernen?
In der ersten Woche lernen Sie nur, Daten zu lesen. Mit SELECT wählen Sie Spalten, mit FROM die Tabelle und mit WHERE filtern Sie Zeilen. Danach sortieren Sie mit ORDER BY und kürzen das Ergebnis mit LIMIT. Diese fünf Bausteine decken einen erstaunlich großen Teil alltäglicher Abfragen ab.
Zum Beispiel liefert SELECT produkt_name, preis FROM produkte WHERE preis > 500 ORDER BY preis DESC LIMIT 10; die zehn teuersten Produkte. Laut gelesen klingt das fast wie eine englische Frage. Genau diese Lesbarkeit ist die eigentliche Stärke von SQL.
- Vergleichsoperatoren: =, <>, >, <, BETWEEN.
- Listen und Muster: IN, LIKE und ILIKE für die Suche ohne Beachtung der Groß und Kleinschreibung in PostgreSQL.
- Prüfung auf fehlende Werte: IS NULL und IS NOT NULL.
- Logik: AND, OR, NOT und Klammern für die Rangfolge.
Verstehen Sie außerdem NULL früh. NULL bedeutet nicht leerer Text, sondern unbekannt. Deshalb liefert WHERE rabatt = NULL keine einzige Zeile. An diesem Detail scheitern Einsteiger häufiger als an allem anderen.
Am Ende der ersten Woche machen Sie einen kleinen Test. Öffnen Sie eine Tabelle und notieren Sie fünf Fragen. Dann beantworten Sie jede nur mit diesen Befehlen. Die Frage, an der Sie hängen bleiben, bestimmt somit das Programm der zweiten Woche.
Was bringen Aggregatfunktionen und GROUP BY?
In der zweiten Stufe lernen Sie, Zeilen zusammenzufassen. COUNT, SUM, AVG, MIN und MAX verdichten tausende Zeilen zu einer Zahl. GROUP BY teilt diese Zusammenfassung dann in Gruppen wie Kategorie, Stadt oder Monat. So beantworten Sie die Frage, wie viel Umsatz jeder Kanal gebracht hat, mit einer einzigen Abfrage.
Der wichtigste Unterschied liegt zwischen WHERE und HAVING. WHERE filtert Zeilen vor der Gruppierung. HAVING filtert dagegen Gruppen nach der Gruppierung. Das heißt: Für Kategorien mit mehr als 10.000 Umsatz brauchen Sie HAVING.
Behalten Sie zudem die logische Ausführungsreihenfolge im Kopf: FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY. Die Reihenfolge, in der Sie schreiben, ist also nicht die Reihenfolge der Datenbank. Daher können Sie einen Alias aus SELECT nicht in WHERE verwenden. Kennen Sie diese Regel, ergeben viele Fehlermeldungen plötzlich Sinn.
Im Marketing zahlt sich diese Stufe sofort aus. Gruppieren Sie zum Beispiel Werbekosten und Bestellungen nach Kanal und teilen Sie beide Werte. Dann wenden Sie die Rechnung, die Sie in einem ROAS Rechner einzeln eingeben, auf die ganze Tabelle an.
In welcher Reihenfolge sollten Sie JOIN Arten lernen?
Echte Datenbanken bestehen nie aus einer Tabelle. Kunden, Bestellungen und Produkte liegen getrennt. Ein JOIN verbindet sie dann über einen gemeinsamen Schlüssel. Ich empfehle zunächst INNER JOIN, danach LEFT JOIN und schließlich FULL OUTER JOIN sowie den Self Join.
| JOIN Art | Was kommt zurück? | Typischer Einsatz |
|---|---|---|
| INNER JOIN | Zeilen mit Treffer in beiden Tabellen | Kunden mit Bestellungen |
| LEFT JOIN | Alle linken Zeilen, NULL ohne Treffer | Kunden ohne jede Bestellung |
| RIGHT JOIN | Alle rechten Zeilen | Selten nötig, besser als LEFT JOIN schreiben |
| FULL OUTER JOIN | Alle Zeilen beider Seiten | Zwei Quelllisten abgleichen |
| CROSS JOIN | Jede Zeile mit jeder Zeile | Ein Gerüst aus Datum und Produkt bauen |
| SELF JOIN | Tabelle mit sich selbst | Beziehung zwischen Führungskraft und Mitarbeiter |
Vorsicht, wenn Sie LEFT JOIN mit WHERE kombinieren. Filtern Sie eine Spalte der rechten Tabelle in WHERE, verhält sich der LEFT JOIN still wie ein INNER JOIN. Daher gehört diese Bedingung meist in die ON Klausel.
Warum vervielfachen sich Zeilen nach einem JOIN?
Die Vervielfachung von Zeilen ist der teuerste Anfängerfehler. Angenommen, eine Bestellung hat mehrere Positionen. Verknüpfen Sie Bestellungen mit Positionen und summieren dann den Bestellwert, zählen Sie denselben Betrag pro Position erneut. Der Bericht wirkt groß, stimmt aber nicht.
Beantworten Sie deshalb vor jedem JOIN für jede Tabelle eine Frage: Was stellt eine Zeile dar? Man nennt das die Granularität der Tabelle. Zudem hilft es, COUNT(*) vor und nach dem JOIN zu vergleichen. Das Problem zeigt sich dann in Sekunden.
Ein Beispielszenario: Sie verknüpfen Bestellungen mit Zahlungen, aber einige Bestellungen wurden in zwei Raten bezahlt. Diese Beträge erscheinen folglich doppelt. Die Lösung ist einfach: Sie fassen Zahlungen zuerst pro Bestellung zusammen und verknüpfen danach. Kurz gesagt ist Verdichten vor dem Verknüpfen oft der sicherste Weg.
Diese Disziplin bestimmt direkt, wie sehr Sie einem Bericht trauen können. Wie Sie Zahlen richtig betrachten, erkläre ich in Marketing Report richtig lesen.
Wann kommen Unterabfragen und CTEs ins Spiel?
Auf mittlerem Niveau reicht ein einzelnes SELECT nicht mehr. Stattdessen wollen Sie das Ergebnis einer Abfrage in einer anderen nutzen. Eine Unterabfrage erledigt das in Klammern. Um etwa Produkte über dem Durchschnittspreis zu finden, berechnen Sie den Durchschnitt in einer kleinen Abfrage innerhalb von WHERE.
Verschachtelte Unterabfragen werden allerdings schnell unlesbar. Hier hilft eine CTE, also die WITH Klausel. Mit WITH geben Sie jedem Schritt einen Namen und lesen die Abfrage von oben nach unten wie eine Geschichte. Zuerst kommen die Monatsumsätze, dann die Monatsziele und schließlich der Vergleich.
Lernen Sie in dieser Phase außerdem den Unterschied zwischen EXISTS und IN. NOT IN kann unerwartet ein leeres Ergebnis liefern, sobald die Unterabfrage NULL enthält. NOT EXISTS tappt dagegen nicht in diese Falle. Deshalb nutze ich für Fragen wie Kunden ohne Bestellung lieber NOT EXISTS.
Rekursive CTEs (WITH RECURSIVE) dienen hierarchischen Daten wie Kategoriebäumen oder Organigrammen. Im ersten Monat brauchen Sie sie nicht. Trotzdem lohnt es sich, von ihnen zu wissen.
Wie passen CASE WHEN, Text und Datumsfunktionen dazu?
Mit CASE WHEN bauen Sie bedingte Logik direkt in SQL. Zum Beispiel ordnen Sie Kunden nach Warenkorbwert als klein, mittel oder groß ein. Zudem liefert das Muster SUM(CASE WHEN ... THEN 1 ELSE 0 END) mehrere bedingte Zählungen in einer Abfrage. Dieses Muster ist also die Grundlage jeder Pivottabelle in SQL.
Datumsfunktionen unterscheiden sich zwischen Datenbanken am stärksten. In PostgreSQL runden Sie mit DATE_TRUNC auf den Monat. MySQL nutzt dagegen DATE_FORMAT, SQL Server DATETRUNC oder DATEPART. Halten Sie daher die Dokumentation Ihres Systems offen.
- Text: LOWER, UPPER, TRIM, SUBSTRING, CONCAT oder der Operator ||.
- Datum: CURRENT_DATE, Datumsdifferenzen, Runden auf Woche oder Monat.
- Typumwandlung: CAST und die Kurzform :: in PostgreSQL.
- Umgang mit NULL: COALESCE sowie NULLIF gegen Division durch null.
Marketingdaten beschäftigen Sie genau mit diesen Funktionen. Gruppieren Sie UTM Werte ohne Kleinschreibung, erscheinen Instagram und instagram als zwei Kanäle. Konsistente Kampagnenlinks aus einem UTM Generator vereinfachen deshalb auch Ihr späteres SQL.
Was sind Fensterfunktionen und warum öffnen sie die Tür zum Fortgeschrittenen?
Fensterfunktionen zeigen eine Berechnung neben jeder Zeile, ohne Zeilen zusammenzulegen. GROUP BY verdichtet Zeilen. Die OVER Klausel behält sie dagegen und ergänzt einen Rang, einen Vorwert oder eine laufende Summe. Wer SQL lernen und fortgeschritten arbeiten will, muss genau diese Schwelle nehmen.
Die Grundform lautet: Funktion, dann OVER, in Klammern PARTITION BY und ORDER BY. PARTITION BY teilt das Fenster in Gruppen. ORDER BY legt dann die Reihenfolge in jeder Gruppe fest. Das Tutorial zu Fensterfunktionen von PostgreSQL erklärt diese Logik mit kurzen Beispielen.
- ROW_NUMBER, RANK, DENSE_RANK: Die drei Bestseller jeder Kategorie finden.
- LAG und LEAD: Den Umsatz dieses Monats mit dem Vormonat in derselben Zeile vergleichen.
- SUM OVER: Eine laufende Summe seit Jahresbeginn bilden.
- AVG OVER: Tägliche Schwankungen mit einem gleitenden Durchschnitt glätten.
- NTILE: Kunden nach Ausgaben in Bänder teilen.
Noch ein Hinweis: Das Ergebnis einer Fensterfunktion können Sie nicht direkt in WHERE filtern. Stattdessen berechnen Sie den Rang in einer CTE und filtern dann in der äußeren Abfrage mit rang <= 3.
Warum ist der Fensterrahmen so wichtig?
In einem Fenster mit ORDER BY reicht der Standardrahmen vom Anfang der Partition bis zur aktuellen Zeile. Für eine laufende Summe ist das genau richtig. Für einen Siebentagesdurchschnitt brauchen Sie dagegen einen expliziten Rahmen: ROWS BETWEEN 6 PRECEDING AND CURRENT ROW.
Auch der Unterschied zwischen ROWS und RANGE zählt hier. ROWS zählt physische Zeilen. RANGE betrachtet dagegen den Sortierwert und behandelt gleiche Werte gemeinsam. Teilen sich mehrere Zeilen ein Datum, liefern beide also unterschiedliche Ergebnisse. Die SQLite Dokumentation zu Fensterfunktionen beschreibt die Rahmenregeln ausführlich.
Achten Sie zudem auf fehlende Tage. Fehlen Tage ohne Umsatz in der Tabelle, sind die letzten sieben Zeilen nicht die letzten sieben Tage. In diesem Fall bauen Sie zunächst ein Datumsgerüst und verknüpfen die Umsätze per LEFT JOIN. Somit folgt Ihr gleitender Durchschnitt wirklich dem Kalender.
Wann sollten Sie Datenänderungen und Tabellendesign lernen?
Wenn Sie SQL für Analysen lernen, sind INSERT, UPDATE und DELETE sicherer, sobald Sie Daten gut lesen können. Denn ein UPDATE ohne WHERE ändert die ganze Tabelle. Testen Sie die Bedingung daher immer zuerst mit einem SELECT und übernehmen Sie sie dann ins UPDATE.
Auch Transaktionen gehören in diese Phase. Sie starten mit BEGIN, prüfen das Ergebnis und schließen dann mit COMMIT oder machen mit ROLLBACK alles rückgängig. Diese Gewohnheit schützt Sie vor großen Fehlern in Livesystemen.
Beim Tabellendesign lernen Sie Primärschlüssel, Fremdschlüssel sowie die Bedingungen NOT NULL und UNIQUE. Normalisierung bis zur dritten Normalform reicht für die meisten Aufgaben. Andererseits nutzen Analysetabellen oft bewusste Redundanz. Zu wissen, wann was passt, ist deshalb mehr wert als auswendig gelernte Regeln.
In Anwendungen hängt Datenbankdesign eng mit der Architektur der Website zusammen. Wie große Systeme in Teile zerfallen, lesen Sie in meinem Beitrag über Micro Frontends.
Warum sind Indizes und Abfragepläne für Fortgeschrittene Pflicht?
Eine korrekte Abfrage kann auf einer großen Tabelle trotzdem Minuten dauern. Ein Index lässt die Datenbank die gesuchten Zeilen erreichen, ohne die ganze Tabelle zu durchsuchen. Allerdings ist ein Index auf jeder Spalte keine Lösung. Er bremst Schreibvorgänge und belegt zudem Speicher.
Performance verstehen Sie, indem Sie den Abfrageplan lesen. In PostgreSQL zeigen EXPLAIN und EXPLAIN ANALYZE, wie die Datenbank Ihre Abfrage ausführt. Das Kapitel Using EXPLAIN erklärt konkret den Unterschied zwischen sequenziellem Scan und Indexscan.
- Umschließen Sie eine Spalte in WHERE mit einer Funktion, bleibt der Index oft ungenutzt.
- Wählen Sie nur die nötigen Spalten statt SELECT *.
- Filtern Sie bei großen Tabellen zuerst und verknüpfen Sie danach.
- In Cloud Data Warehouses wie BigQuery wirkt sich die gescannte Datenmenge auf die Kosten aus.
Manche Probleme mit der Ladezeit einer Website stammen ebenfalls aus langsamen Abfragen. Zur Suchseite lesen Sie wie die Ladezeit SEO beeinflusst.
Welche Übungsplattformen passen zu welcher Stufe?
Lesen allein reicht nicht, wenn Sie SQL lernen. Denn Wissen, das Sie nie tippen, verblasst innerhalb einer Woche. Die Tabelle ordnet Plattformen den Stufen zu. Preise und Inhalte können sich ändern, prüfen Sie daher vor der Anmeldung die aktuellen Bedingungen.
| Plattform | Stufe | Stärke |
|---|---|---|
| SQLBolt | Einstieg | Kurze interaktive Lektionen mit sofortigem Feedback |
| SQLZoo | Einstieg bis Mitte | Übungssets nach Themen |
| PostgreSQL Exercises (pgexercises.com) | Mitte | Gestufte Fragen zu einer Vereinsdatenbank |
| HackerRank SQL | Einstieg bis Fortgeschritten | Aufgaben nach Schwierigkeit |
| LeetCode Datenbankaufgaben | Mitte bis Fortgeschritten | Viele Aufgaben zu Fensterfunktionen |
| Kaggle Datensätze | Alle Stufen | Realistische, unordentliche Daten |
| DB Fiddle | Alle Stufen | Testen und Teilen ohne Installation |
Mein Vorschlag: Nutzen Sie die ersten zwei Wochen SQLBolt und SQLZoo. In Woche drei wechseln Sie zu pgexercises. Für Fensterfunktionen trainieren Sie dann mit LeetCode Aufgaben. Allerdings arbeiten alle diese Plattformen mit sauberen, vorbereiteten Daten. Echtes Können entsteht erst mit unordentlichen, echten Daten.
Wie bauen Sie ein Projekt mit eigenen Daten auf?
Auf Übungsseiten ist die Frage vorgegeben. Im Beruf müssen Sie die Frage dagegen selbst finden. Widmen Sie deshalb die zweite Hälfte Ihres Lernens einem Projekt. Ein Bestellexport aus Ihrem Unternehmen eignet sich, ein offener Datensatz ebenso.
- Importieren Sie eine CSV Datei in SQLite oder PostgreSQL und korrigieren Sie die Spaltentypen.
- Bereinigen Sie die Daten: Leerzeichen kürzen, Datumsformate vereinheitlichen, doppelte Zeilen finden.
- Formulieren Sie drei Geschäftsfragen, etwa: Welcher Monat brachte die meisten Neukunden?
- Lösen Sie jede zuerst einfach und dann erneut mit CTEs und Fensterfunktionen.
- Stellen Sie die Ergebnisse als Tabelle oder Diagramm dar und deuten Sie sie in einem Absatz.
Eine Kohortenanalyse auf Shopbestellungen ist zum Beispiel ein ideales Ziel. Sie gruppieren Kunden nach dem Monat der ersten Bestellung und zählen, wie viele später wiederkommen. Dieses eine Projekt trainiert somit JOIN, GROUP BY, Datumsfunktionen und Fensterfunktionen gleichzeitig.
Arbeiten Sie mit E-Commerce Daten, legen Sie zuerst die wichtigen Kennzahlen fest. Mein Beitrag zu Online Marketing KPIs erweitert Ihre Fragenliste.
Wie sieht ein Beispielplan Woche für Woche aus?
Der folgende Plan geht von einer Stunde pro Tag aus. Die Dauer ist ein Startbereich aus der Praxis, keine Garantie. Vorerfahrung im Programmieren und verfügbare Zeit verändern sie also deutlich.
| Woche | Thema | Übungsziel |
|---|---|---|
| 1 | SELECT, WHERE, ORDER BY, LIMIT, NULL | Erste SQLBolt Lektionen |
| 2 | Aggregatfunktionen, GROUP BY, HAVING | Aggregatsets bei SQLZoo |
| 3 | JOIN Arten und vervielfachte Zeilen | JOIN Abschnitt bei pgexercises |
| 4 | Unterabfragen, EXISTS, CTEs | Drei Geschäftsfragen an eigene Daten |
| 5 | CASE WHEN, Text und Datumsfunktionen | Bereinigen und Pivotieren |
| 6 | Fensterfunktionen und Rahmen | Ränge, LAG und gleitende Durchschnitte |
| 7 | Datenänderungen, Transaktionen, Tabellendesign | Ein kleines Schema bauen |
| 8 | Indizes und EXPLAIN | Eine langsame Abfrage beschleunigen |
Verstehen Sie den Plan nicht als starren Kalender. Können Sie ein Thema nicht mit drei verschiedenen Fragen an eigene Daten lösen, gehen Sie nicht weiter. So wächst vor allem Ihr Verständnis, nicht nur Ihr Tempo.
Erschweren SQL Dialekte das Lernen?
Kaum, aber Sie sollten sie früh kennen. Jede Datenbank ergänzt den Standard um eigene Erweiterungen, die man Dialekte nennt. Der Kern von SELECT, JOIN, GROUP BY und Fensterfunktionen ist fast überall gleich. Die Unterschiede liegen also eher an den Rändern.
| Thema | PostgreSQL | MySQL | SQL Server |
|---|---|---|---|
| Zeilen begrenzen | LIMIT | LIMIT | TOP oder OFFSET FETCH |
| Text verketten | || oder CONCAT | CONCAT | + oder CONCAT |
| Auf Monat runden | DATE_TRUNC | DATE_FORMAT | DATETRUNC (neuere Versionen) |
| Suche ohne Groß und Kleinschreibung | ILIKE | LIKE, abhängig von der Kollation | LIKE, abhängig von der Kollation |
Legen Sie deshalb in einem Dialekt ein solides Fundament und notieren Sie beim Wechsel nur die Unterschiede. Ich führe dafür eine kurze Zuordnungsliste in meinen Notizen. Dadurch finde ich mich in einem neuen Projekt mit anderem System innerhalb einer Stunde zurecht.
Welche Fehler passieren beim SQL lernen am häufigsten?
Über die Jahre habe ich bei Kollegen und bei mir selbst immer dieselben Fehler gesehen. Kennen Sie sie vorher, sparen Sie folglich Wochen.
- Syntax auswendig lernen, ohne die Daten zu kennen. Schauen Sie zuerst auf Tabelle und Granularität.
- Vervielfachte Zeilen übersehen. Vergleichen Sie die Zeilenzahl vor und nach jedem JOIN.
- Mit Gleichheitszeichen auf NULL prüfen. Nutzen Sie stattdessen IS NULL.
- Alles in eine riesige Abfrage stopfen. Teilen Sie sie in CTE Schritte.
- Nur auf Übungsseiten bleiben. Bauen Sie ein Projekt mit echten, unordentlichen Daten.
- Ergebnisse nie prüfen. Gleichen Sie Summen mit einer bekannten Quelle ab, etwa der Buchhaltung.
Der letzte Punkt wiegt am schwersten. Eine Abfrage ohne Fehlermeldung ist nicht automatisch richtig. Bei jedem neuen Bericht gleiche ich deshalb mindestens eine Summe mit einer unabhängigen Quelle ab. Stimmt sie nicht, hinterfrage ich zuerst meine Annahme und dann die Abfrage.
Wie bleibt das Gelernte dauerhaft hängen?
Dauerhaftes Wissen entsteht durch Wiederholung und Erklären. Speichern Sie jede gelöste Abfrage mit einer kurzen Notiz in einer Datei oder einem Git Repository. Einige Wochen später lösen Sie dieselbe Frage erneut, ohne nachzuschauen. Die Stelle, an der Sie hängen bleiben, haben Sie also noch nicht wirklich gelernt.
Erklären Sie das Gelernte außerdem jemand anderem. Können Sie einem Kollegen den Unterschied zwischen LEFT JOIN und INNER JOIN an einem Beispiel zeigen, sitzt das Thema. Fällt Ihnen das schwer, gehen Sie dann zurück zu diesem Abschnitt.
Schließlich hilft eine wöchentliche Datenfrage. Fragen Sie am Montagmorgen etwa, welches Produkt letzte Woche zum ersten Mal bestellt wurde, und beantworten Sie das mit SQL. Über Monate macht Sie diese kleine Routine vom Übungslöser zu jemandem, der mit Daten denkt.
Machen KI Assistenten das SQL lernen überflüssig?
Nein, aber sie verändern die Art des Lernens. Heute stellen Sie einem KI Assistenten eine Frage in normaler Sprache und erhalten einen SQL Entwurf. Um zu prüfen, ob der Entwurf die richtige Tabelle, den richtigen JOIN und die richtige Granularität nutzt, brauchen Sie allerdings selbst SQL.
Meine Beobachtung ist einfach. Assistenten liefern schnell Syntax, kennen aber Ihren Geschäftskontext nicht. Ob stornierte Bestellungen zum Umsatz zählen, entscheiden zum Beispiel Sie. Nutzen Sie den Assistenten daher als Tutor oder Entwurfsschreiber. Lesen Sie jede Abfrage, testen Sie sie an einer kleinen Stichprobe und erklären Sie, warum sie funktioniert.
Es gibt zudem eine gute Methode: Schreiben Sie die Abfrage zuerst selbst, bitten Sie dann um eine Alternative und vergleichen Sie. So gewinnen Sie Tempo, ohne Ihr Lernen zu schwächen. Die größere Wirkung von KI auf die Suche bespreche ich in Ist SEO tot?.
Wie hilft SQL im Online Marketing und in der SEO?
In Marketingteams beantwortet SQL die Fragen, an denen Dashboards scheitern. Exportieren Sie GA4 Daten nach BigQuery, erreichen Sie mit SQL die Rohdaten auf Ereignisebene. Die GA4 Hilfe von Google beschreibt die Einrichtung dieses Exports. Eigene Trichter und Kohorten schreiben Sie dann allerdings selbst als Abfrage.
In der SEO ist es ähnlich. Mit dem Bulk Datenexport der Search Console nach BigQuery gruppieren Sie Suchanfragen und Seiten nach eigenen Regeln. Die Grundlagen finden Sie in meiner Search Console Anleitung für Einsteiger.
In meiner SEO Beratung und der E-Commerce Beratung lässt mich SQL mit Messwerten statt Vermutungen sprechen. Kurz gesagt zahlt sich SQL lernen für alle aus, die mit Daten entscheiden, nicht nur für Entwickler.
Woran erkennen Sie, dass Sie fortgeschritten sind?
Fortgeschritten misst man nicht an der Zahl bekannter Befehle. Schaffen Sie die folgenden Aufgaben ohne Nachschlagen und prüfen Sie die Ergebnisse, stehen Sie auf festem Boden.
- Die drei besten Produkte jeder Kategorie mit einer Fensterfunktion auflisten.
- Eine monatliche Kohortentabelle mit Wiederkaufrate erstellen.
- Fehlende Tage auffüllen und einen Siebentagesdurchschnitt berechnen.
- Eine langsame Abfrage mit EXPLAIN untersuchen und beschleunigen.
- Vervielfachte Zeilen auf den ersten Blick erkennen und beheben.
Die nächsten Schritte hängen von Ihrem Bereich ab. In der Analyse bieten sich Werkzeuge zur Transformation wie dbt an. In der Anwendungsentwicklung folgen dagegen ORMs und Datenbankadministration. Egal welchen Weg Sie wählen, die Disziplin bleibt gleich: Frage schärfen, Daten kennen, Ergebnis prüfen.
Wenn Sie Unterstützung dabei suchen, Ihre Daten in gute Entscheidungen zu verwandeln, lesen Sie auf meiner Seite über mich, wie ich arbeite.




