In diesem Artikel findest Du die wichtigsten SQL Befehle zur grundlegenden Arbeit mit relationalen Datenbanken. Die Structured Query Language (SQL) ist die am häufigsten genutzte Sprache bei der Arbeit mit relationalen Datenbanken. Die Sprache ist für weit mehr nutzbar als simple Abfragen, trotz des Namens. Damit können auch alle Operationen durchgeführt werden, die zur Erstellung und Instandhaltung von Datenbanken nötig sind.
Was sind die Vorteile der Structured Query Language?
Die strukturierte Abfragesprache bietet viele Funktionen, um Daten zu lesen, zu verändern oder zu löschen. Darüber hinaus wird sie von vielen Analysten aus den folgenden Gründen anderen Sprachen vorgezogen:
- Es ist semantisch sehr einfach zu lesen und zu verstehen. Die Befehle können auch von Anfängern weitestgehend verstanden werden.
- Die Sprache kann direkt innerhalb der Datenbankumgebung genutzt werden. Zur grundlegenden Arbeit mit Informationen müssen die Daten nicht erst aus der Datenbank in ein anderes Tool überführt werden. Einfache Berechnungen und Abfragen sind direkt in der Datenbank möglich.
- Verglichen mit anderen Tabellentools, wie beispielsweise Excel, können Datenanalysen mit der Structured Query Language einfach repliziert und kopiert werden, da alle Zugriff auf die gleichen Daten in der Datenbank haben. Somit führt dieselbe Abfrage auch immer zum gleichen Ergebnis.
SQL bietet eine Alternative zu der Art von Zusammenfassungen und Berechnungen, die die meisten in Excel Tabellen vornehmen, wie Summen, Durchschnittsberechnungen oder finden des Maximums innerhalb einer Spalte. Diese Berechnungen können auch über mehrere Datensätze gleichzeitig ausgeführt werden.
Welche Beispieldaten nutzen wir?
Um die gängigsten SQL Befehle auch live testen zu können, nutzen wir einen Kaggle Datensatz mit Bewerbern um einen Kredit, bei dem für verschiedene Bewerber Daten, wie beispielsweise das Einkommen, das Geschlecht oder deren Arbeit verzeichnet ist.
Diese Tabelle laden wir als Pandas DataFrame in unser Notebook und können daraufhin dann gängige SQL Befehle testen:
Wie kann man Daten abfragen?
Die komplette Tabelle kann mithilfe von “SELECT” abfragt werden. Da keine spezielle Spalte abgefragt werden soll, nutzen wir dafür einfach den Stern “*”, sodass alle verfügbaren Spalten ausgegeben werden. Mithilfe von “LIMIT 10” stellen wir sicher, dass lediglich die obersten 10 Zeilen vom SQL Befehl zurückgegeben werden, da es ansonsten zu unübersichtlich wird:
Da es eine Vielzahl an Spalten gibt, beschränken uns auf die Spalten “NAME_INCOME_TYPE” für den Arbeitstyp und “CNT_CHLDREN” für die Anzahl der Kinder des Bewerbers. Diese können wir abfragen, indem wir sie explizit angeben:
Wie wir sehen, kommen in diesen Zeilen manche Einkommenstypen doppelt vor. Die ist auch völlig normal, da verschiedene Bewerber denselben Beruf ausüben können.
Um lediglich die einzigartigen Einträge für “NAME_INCOME_TYPE” zu bekommen, nutzen wir den zusätzlichen Parameter “DISTINCT”:
Wie kann man Daten filtern?
Die Daten können mithilfe des “WHERE” Parameters gefiltert werden. Je nach Datentyp gibt es dafür verschiedene Abfragen:
- Zahlenwerte lassen sich mithilfe des Größer- oder Kleinerzeichens vergleichen, z.B. “AMT_INCOME_TOTAL > 427500”. Diese können noch mit einem Gleichzeichen ergänzt werden, z.B. “AMT_INCOME_TOTAL >= 427500”.
- Für Texte oder Strings werden die Vergleiche “=” oder “<>” verwendet, um zu prüfen, ob die Texte übereinstimmen (“=”) oder voneinander abweichen (“<>”).
Alle Bewerber, die mehr als $427,500 verdienen, erhalten wir mit dem folgenden SQL Befehl:
Um mehrere Filter in einem SQL Befehl nutzen zu können, können wir diese entweder mit einem “AND” oder einem “OR” verbinden. Somit erhalten wir alle Bewerber, die sehr viel verdienen und weiblich sind, mit:
Wie können die Ergebnisse sortiert werden?
Jede Ausgabe kann mithilfe von “ORDER BY” entsprechend einer Spalte sortiert werden. Sortieren lassen sich sowohl Zahlen als auch Strings, die dann alphabetisch sortiert werden:
Per Default werden die Ausgaben immer aufsteigend sortiert. Um dies zu ändern, muss man noch zusätzlich “DESC” für absteigend (engl.: descending)) angeben:
Wie können Datensätze gezählt werden?
Mithilfe des SQL Befehls “count” kann man die Werte in Spalten oder der gesamten Datenbank zählen:
In diesem Fall haben wir also 438.557 Datensätze in der Datenbank. Um die Werte innerhalb einer Spalte zu zählen verweden wir statt dem Stern “*” den Namen der Spalte. Zusätzlich können wir über den Parameter “DISTINCT” lediglich die einzigartigen Werte in der Spalte zählen:
Somit gibt es also 866 unterschiedliche Gehaltsangaben im Datensatz.
Das solltest Du mitnehmen
- Die Structured Query Language ist die weit verbreiteste Sprache bei der Arbeit mit relationalen Datenbanken.
- Mithilfe von SQL Befehlen lassen sich umfangreiche Datenabfragen gestalten und individualisieren.
Vielen Dank an Deepnote für das Sponsoring dieses Artikels! Deepnote bietet mir die Möglichkeit, Python-Code einfach und schnell auf dieser Website einzubetten und auch die zugehörigen Notebooks in der Cloud zu hosten.
Was ist Datenqualität?
Sicherstellung der Datenqualität: Bedeutung, Herausforderungen und bewährte Praktiken. Erfahren Sie, wie Sie hochwertige Daten erhalten.
Was ist die Datenimputation?
Imputieren Sie fehlende Werte mit Datenimputationstechniken. Optimieren Sie die Datenqualität und erfahren Sie mehr über die Techniken.
Was ist Ausreißererkennung?
Entdecken Sie Anomalien in Daten mit Verfahren zur Ausreißererkennung. Verbessern Sie ihre Entscheidungsfindung!
Was ist die Bivariate Analyse?
Nutzen Sie die Bivariate Analyse: Erforschen Sie Typen und Streudiagramme und nutzen Sie Korrelation und Regression.
Was ist eine RESTful API?
Erfahren Sie alles über RESTful APIs und wie sie Ihre Webentwicklungsprojekte effizienter und skalierbarer machen können.
Was sind Zeitreihendaten?
Gewinnen Sie mithilfe von Analyse- und Prognosetechniken Erkenntnisse aus Zeitreihendaten. Entdecken Sie Trends und Muster!
Andere Beiträge zum Thema SQL Befehle
- Den genutzten Olympia Datensatz findest Du hier.
Niklas Lang
Seit 2020 bin ich als Machine Learning Engineer und Softwareentwickler tätig und beschäftige mich leidenschaftlich mit der Welt der Daten, Algorithmen und Softwareentwicklung. Neben meiner Arbeit in der Praxis unterrichte ich an mehreren deutschen Hochschulen, darunter die IU International University of Applied Sciences und die Duale Hochschule Baden-Württemberg, in den Bereichen Data Science, Mathematik und Business Analytics.
Mein Ziel ist es, komplexe Themen wie Statistik und maschinelles Lernen so aufzubereiten, dass sie nicht nur verständlich, sondern auch spannend und greifbar werden. Dabei kombiniere ich praktische Erfahrungen aus der Industrie mit fundierten theoretischen Grundlagen, um meine Studierenden bestmöglich auf die Herausforderungen der Datenwelt vorzubereiten.