Aus Liebe zu SQL: Warum sollten Sie es lernen und wie wird es Ihnen helfen?

Ich habe kürzlich einen großartigen Artikel des angesehenen @craigkerstiens gelesen, in dem er beschreibt, warum er SQL für eine so wertvolle Fähigkeit für Entwickler hält. Dieses Thema hat mich sehr beeindruckt. Es stimmte gut mit Notizen überein, die ich bereits für einen ähnlichen Artikel über die Entwicklung einer Liebe zu Daten entworfen hatte.

Je mehr ich jedoch mein Thema ausarbeitete, desto mehr wurde mir klar, dass sich viele meiner Punkte und Beispiele auf SQL zu konzentrieren schienen. Das Lesen von Craigs Artikel überzeugte mich, meinen Fokus umzulenken und mehr darüber zu sprechen, warum ich persönlich eine solche Affinität zu SQL habe.

Kurz gesagt, Craig macht die folgenden Aussagen zu SQL (und ich zitiere):

1. Es ist über verschiedene Rollen und Disziplinen hinweg wertvoll2. Einmal zu lernen erfordert nicht wirklich ein erneutes Lernen3. Du scheinst ein Superheld zu sein. Sie scheinen besonders mächtig zu sein, wenn Sie es wissen, weil viele Menschen nicht fließend sind

Ich habe festgestellt, dass all diese Punkte in meiner eigenen Erfahrung zutreffen, und ich möchte jeden einzelnen neu formulieren und erweitern.

Der Vielseitigkeitseffekt

Das SQL-Skillset hat sich in meiner Karriere als äußerst wertvoll erwiesen. Tatsächlich glaube ich, dass SQL die leistungsstärkste und vielseitigste Programmiersprache ist, die ich kenne.

Ich konnte SQL verwenden, um viele Probleme zu lösen, und es ist mein Werkzeug, wenn ich vor einer neuen Herausforderung stehe. Tatsächlich lasse ich eine Instanz von PostgreSQL auf meinem Laptop laufen, damit ich schnell in meine bevorzugte SQL-GUI springen kann, wenn ich etwas testen muss.

Hier sind nur einige der coolen Dinge, die ich mit SQL tun konnte:

Fällt es Ihnen schwer, diese Liste oben zu glauben? Ich verspreche Ihnen, dass es keine Spur von Übertreibung gibt. Gibt es dort einige Elemente, die von anderen Funktionen des RDBMS abhängig waren, das ich zu der Zeit verwendet habe? Sicher. Unabhängig davon wurde jede dieser Lösungen in SQL implementiert.

Der Fahrradeffekt

Während die strukturierte Abfragesprache sicherlich Änderungen erfahren und im Laufe der Jahre erweitert wurde, stimme ich Craig zu, dass sich die Grundlagen nicht geändert haben. Die allgemeine Volatilität im Vergleich zu anderen Sprachen war relativ gering.

Ich würde argumentieren, dass diese Tatsache nur das Argument verstärkt, dass man die Zeit investieren sollte, um SQL zu lernen. Sie können sicher sein, dass Sie mit einer solchen Investition eine Menge Meilen sammeln, ohne die neuesten Konventionen bei der nächsten Verwendung nachschlagen zu müssen.

Lernen Sie also SQL! Hier sind einige großartige Orte, um loszulegen:

SQL Tutorial - Grundlegendes SQL für Anfänger

Dieses SQL-Tutorial hilft Ihnen anhand vieler praktischer Beispiele, schnell und effektiv mit SQL zu beginnen. Nach dem… www.sqltutorial.org

Es gibt sogar interaktive Tutorials:

SQLBolt - SQL lernen - Einführung in SQL

SQLBolt bietet eine Reihe interaktiver Lektionen und Übungen, mit denen Sie SQL sqlbolt.com lernen können

Es gibt auch einige vielseitige Sandboxen, mit denen Sie SQL in verschiedenen Dialekten ausführen können, ohne etwas installieren zu müssen. Zum Beispiel SQL Fiddle:

Oder DB Fiddle:

Der Superheldeneffekt

Ich erinnere mich an einen Kollegen, der einmal sagte, er sei jedes Mal kalt ins Schwitzen gekommen, wenn er SQL schreiben musste. ?

Es klingt übertrieben, aber SQL kann jeden einschüchtern, der die Datenbank als sensibles Asset betrachtet und nicht weiß, wie man sicher mit ihr interagiert. SQL, einer der Erwachsenen im Raum, erhält auch nicht so viel Aufmerksamkeit wie andere glänzende neue Programmiersprachen. Dies bedeutet, dass es unter zeitgenössischen und aufstrebenden Entwicklern weniger verbreitet ist.

Ein solides Verständnis von SQL und die Einsicht, die satzbasierten Facetten eines bestimmten Problems oder einer bestimmten Herausforderung zu erkennen, bieten die Möglichkeit, ein Held zu sein.

Eine meiner bevorzugten persönlichen Erfahrungen war es, einem Kunden beim Debuggen eines langsamen und komplexen SAS-Programms zu helfen. Ziel dieses Programms war es, eine Liste von Statusübergängen aus einer Prüftabelle zu extrahieren, um die durchschnittliche Dauer zu messen, die ein Widget in jeder Phase eines bestimmten Geschäftsworkflows verbracht hat. Die Implementierung dieser Berechnungen war komplex und erforderte die Erstellung mehrerer lokaler Datensätze.

Ich erinnere mich an das Reverse Engineering dieses Programms und die Erkenntnis, dass ich das Problem mit einer einzigen SQL-Abfrage und der magischen LAG-Fensterfunktion viel einfacher lösen konnte.

Der Kunde war einfach umgehauen.

Nicht nur, weil er etwas über die LAG-Funktion gelernt hat, sondern weil er gesehen hat, wie leistungsfähig SQL sein kann.

Ein noch dramatischeres Beispiel war während einer Migration eines großen Data Warehouse, bei der ich ein gesamtes Java-Programm (das mehr als 20 Minuten dauerte!) Durch eine einzige SQL-Abfrage ersetzte, die in Sekunden ausgeführt wurde. Der ursprüngliche Autor des Programms war schockiert! Das war ein wirklich guter Tag. ?

Daher ermutige ich Sie, heute in SQL einzutauchen und Ihre Fähigkeiten mit einem der vielseitigsten Tools zu erweitern, mit denen ich arbeiten durfte. Wenn Sie SQL bereits kennen und damit einverstanden sind oder wenn ich Sie überzeugt habe, es auszuprobieren, hinterlassen Sie mir bitte einen Kommentar.