Ein einführendes SQL-Tutorial: So schreiben Sie einfache Abfragen

Ein einführendes SQL-Tutorial: So schreiben Sie einfache Abfragen

Quellknoten: 3067316

Schon mal was von SQL gehört? Sie haben vielleicht im Zusammenhang mit der Datenanalyse davon gehört, hätten aber nie gedacht, dass es auf Sie als Vermarkter zutreffen würde. Oder Sie haben vielleicht gedacht: „Das ist für fortgeschrittene Datenbenutzer.“ Das könnte ich nie tun.“

Frau verwendet SQL-Abfragen

Nun, Sie könnten nicht falscher liegen. Die erfolgreichsten Vermarkter sind datengesteuert, und einer der wichtigsten Aspekte der datengesteuerten Tätigkeit ist das schnelle Sammeln von Daten aus Datenbanken. SQL ist das beliebteste Tool, das genau dafür geeignet ist.

Jetzt herunterladen: Einführung in die Datenanalyse [Kostenloser Leitfaden]

Wenn Ihr Unternehmen bereits Daten in einer Datenbank speichert, müssen Sie möglicherweise SQL lernen, um auf die Daten zugreifen zu können. Aber keine Sorge – Sie sind am richtigen Ort, um anzufangen. Lasst uns gleich einsteigen.

So fragen Sie eine SQL-Datenbank ab

  1. Stellen Sie sicher, dass Sie über eine Datenbankverwaltungsanwendung verfügen (z. B. MySQL Workbench, Sequel Pro).
  2. Wenn nicht, laden Sie eine Datenbankverwaltungsanwendung herunter und arbeiten Sie mit Ihrem Unternehmen zusammen, um Ihre Datenbank zu verbinden.
  3. Verstehen Sie Ihre Datenbank und ihre Hierarchie.
  4. Finden Sie heraus, welche Felder sich in Ihren Tabellen befinden.
  5. Beginnen Sie mit dem Schreiben einer SQL-Abfrage, um die gewünschten Daten abzurufen.

Mit SQL müssen Sie keine riesige Excel-Tabelle herunterladen und öffnen, um die Antworten zu erhalten, die Sie suchen.

Sie können Fragen stellen wie „Welche Kunden haben in den letzten sechs Monaten einen roten Overall gekauft?“ und SQL ruft die Daten aus Ihrer Datenbank ab und gibt sie an Sie zurück, ohne dass Sie manuell eine CSV durchsuchen müssen.

Warum SQL verwenden?

SQL ist ein nützliches Tool für Unternehmen, die Daten nutzen (Hinweis, die meisten tun dies). Hier sind einige Beispiele und Gründe, warum Sie vielleicht auf den SQL-Zug aufspringen sollten.

  • Ihre Daten sind in SQL sicherer, da es für Benutzer im Vergleich zu einer Excel-Tabelle schwieriger ist, sie versehentlich zu löschen oder zu beschädigen
  • SQL ermöglicht Ihnen die Verwaltung von Datensätzen mit mehr als Tausenden von Datensätzen
  • SQL ermöglicht mehreren Benutzern den nahtlosen Zugriff auf dieselbe Datenbank
  • Mit rollenbasierten Berechtigungen können Sie die Sichtbarkeit sensibler Daten steuern
  • SQL ermöglicht eine leistungsstarke Datenvisualisierung
  • SQL erzwingt die Datenintegrität, sodass Ihre Daten immer korrekt und konsistent sind

Die SQL-Datenbankhierarchie

Eine SQL-Datenbank ist eine relationale Datenbank, das heißt, die Daten sind in Tabellen strukturiert, die auf der Grundlage vordefinierter Beziehungen miteinander verknüpft sind.

Informationen in einer SQL-Datenbank sind hierarchisch strukturiert, ähnlich einem Stammbaum, was bedeutet, dass Elemente auf der obersten Ebene einen größeren Umfang haben und sich nach unten in mehrere, spezifischere Untereinheiten verzweigen.

Im Kontext von SQL ist die oberste Ebene die Datenbankserver, Die auch als Instanz. In Ihrer Instanz werden alle Ihre Daten gespeichert. Innerhalb einer Instanz kann es mehrere geben Datenbanken, die jeweils Daten enthalten, die auf der Grundlage einer breiten Kategorisierung organisiert sind.

Eine Datenbank ist unterteilt in Tabellen. In der Tabelle befinden sich die eigentlichen Daten. Sobald Sie sich auf der Tabellenebene befinden, werden die Daten nach organisiert Spalten und Reihen und darin untergebracht Felder, fast genau wie eine Excel-Tabelle.

Nehmen wir an, wir arbeiten mit mehreren Datenbanken über Menschen in den Vereinigten Staaten. Eingabe der Abfrage „SHOW DATABASES;“ zeigt jede Datenbank in Ihrem System an, einschließlich einer mit dem Titel Neu England.

Eine Datenbank enthält Tabellen, und in diesen Tabellen befinden sich Ihre Daten.

Wenn wir die Abfrage „SHOW TABLES in NewEngland;“ verwenden, sind das Ergebnis Tabellen für jeden Bundesstaat in New England:

people_connecticut, people_maine, people_massachusetts, people_newhampshire, people_rhodeisland und people_vermont.

Abschließend müssen Sie herausfinden, welche Felder in den Tabellen enthalten sind. Felder sind die spezifischen Datenelemente, die Sie aus Ihrer Datenbank abrufen können.

Wenn Sie beispielsweise die Adresse einer Person abrufen möchten, lautet der Feldname möglicherweise nicht nur „Adresse“, sondern kann in „Adresse_Stadt“, „Adresse_Bundesstaat“ und „Adresse_Zip“ unterteilt werden. Um dies herauszufinden, verwenden Sie die Abfrage „Describe people_massachusetts;“.

Dies stellt eine Liste aller Daten bereit, die Sie mit SQL abrufen können.

Lassen Sie uns einen kurzen Überblick über die Hierarchie anhand unseres Neuengland-Beispiels geben:

  • Unsere Datenbank ist Neu England.
  • Unsere Tabellen in dieser Datenbank sind people_connecticut, people_maine, people_massachusetts, people_newhampshire, people_rhodeisland und people_vermont.
  • Zu unseren Feldern in der Tabelle „people_massachusetts“ gehören: adressstadt, adressstaat, adress_zip, haarfarbe, alter, vorname und nachname.

Schreiben wir nun einige einfache SQL-Abfragen, um Daten aus unserem abzurufen Neu England Datenbank.

So schreiben Sie SQL-Abfragen

Bevor wir beginnen, stellen Sie sicher, dass Sie über eine Datenbankverwaltungsanwendung verfügen, mit der Sie Daten aus Ihrer Datenbank abrufen können. Einige Optionen umfassen MySQL or Fortsetzung Pro.

Laden Sie zunächst eine dieser Optionen herunter und sprechen Sie dann mit der IT-Abteilung Ihres Unternehmens darüber, wie Sie eine Verbindung zu Ihrer Datenbank herstellen. Ihre Option hängt vom Back-End Ihres Produkts ab. Wenden Sie sich daher an Ihr Produktteam, um sicherzustellen, dass Sie die richtige Option auswählen.

Um zu lernen, wie man eine SQL-Abfrage schreibt, verwenden wir die folgende Frage:

Wer sind die Menschen mit roten Haaren in Massachusetts, die 2003 geboren wurden?

Verwendung des SELECT-Befehls

SELECT wählt die Felder aus, die in Ihrem Diagramm angezeigt werden sollen. Dies ist die spezifische Information, die Sie aus Ihrer Datenbank abrufen möchten. Im obigen Beispiel wollen wir das finden befähigen die die restlichen Kriterien erfüllen.

Abfrage 1:

SELECT

Vorname,

Familienname, Nachname

;

Verwenden des FROM-Befehls

FROM bestimmt die Tabelle, aus der Sie die Daten abrufen möchten.

Im vorherigen Abschnitt haben wir erfahren, dass es sechs Tabellen für jeden der sechs Bundesstaaten in Neuengland gibt: people_connecticut, people_maine, people_massachusetts, people_newhampshire, people_rhodeisland und people_vermont.

Da wir speziell nach Personen in Massachusetts suchen, beziehen wir Daten aus dieser spezifischen Tabelle.

Hier ist unsere SQL-Abfrage:

SELECT

Vorname,

Familienname, Nachname

AB

people_massachusetts

;

Verwendung des WHERE-Befehls

Mit WHERE können Sie eine Abfrage gezielter filtern. In unserem Beispiel möchten wir unsere Abfrage so filtern, dass sie nur Menschen mit roten Haaren umfasst, die im Jahr 2003 geboren wurden. Beginnen wir mit dem Rothaarfilter.

Abfrage 2:

SELECT

Vorname,

Familienname, Nachname

AB

people_massachusetts

WO

hair_color = 'rot'

;

„hair_color“ hätte Teil Ihrer ersten SELECT-Anweisung sein können, wenn Sie sich alle Menschen in Massachusetts und ihre Haarfarbe ansehen wollten. Aber wenn Sie filtern möchten, um zu sehen einzige Menschen mit roten Haaren können dies mit einer WHERE-Anweisung tun.

Verwendung des BETWEEN-Befehls

Neben Gleichheit (=) ist BETWEEN ein weiterer Operator, den Sie für bedingte Abfragen verwenden können. Eine BETWEEN-Anweisung gilt für Werte, die zwischen den angegebenen Mindest- und Höchstwerten liegen.

In unserem Fall können wir BETWEEN verwenden, um Datensätze aus einem bestimmten Jahr abzurufen, z. B. 2003.

Abfrage 3:

SELECT

Vorname,

Familienname, Nachname

AB

people_massachusetts

WO

Geburtsdatum ZWISCHEN „2003“ UND „01“

;

Verwendung des AND-Befehls

Mit AND können Sie Ihrer WHERE-Anweisung zusätzliche Kriterien hinzufügen. Denken Sie daran, dass wir zusätzlich zu den Personen, die im Jahr 2003 geboren wurden, auch nach Personen filtern möchten, die rote Haare hatten. Da unsere WHERE-Anweisung von den Kriterien für rote Haare übernommen wird, wie können wir dann auch nach einem bestimmten Geburtsjahr filtern?

Hier kommt die AND-Anweisung ins Spiel. In diesem Fall ist die AND-Anweisung eine Datumseigenschaft – muss es aber nicht unbedingt sein. (Hinweis: Überprüfen Sie das Format Ihrer Daten mit Ihrem Produktteam, um sicherzustellen, dass sie korrekt sind.)

Abfrage 4:

SELECT

Vorname,

Familienname, Nachname

AB

people_massachusetts

WO

hair_color = 'rot'

UND

Geburtsdatum ZWISCHEN „2003“ UND „01“

;

Verwendung des OR-Befehls

OR kann auch mit einer WHERE-Anweisung verwendet werden. Bei AND müssen beide Bedingungen wahr sein, damit sie in den Ergebnissen angezeigt werden (z. B. muss die Haarfarbe rot sein und im Jahr 2003 geboren sein). Bei ODER muss eine der beiden Bedingungen erfüllt sein, damit sie in den Ergebnissen angezeigt wird (z. B. muss die Haarfarbe rot sein). or muss im Jahr 2003 geboren sein).

So sieht eine OR-Anweisung in Aktion aus.

Abfrage 5:

SELECT

Vorname,

Familienname, Nachname

AB

people_massachusetts

WO

hair_color = 'rot'

OR

Geburtsdatum ZWISCHEN „2003“ UND „01“

;

Verwendung des NOT-Befehls

NOT wird in einer WHERE-Anweisung verwendet, um Werte anzuzeigen, bei denen die angegebene Bedingung nicht wahr ist. Wenn wir alle Einwohner von Massachusetts einbeziehen wollten ohne rote Haare, können wir die folgende Abfrage verwenden.

Abfrage 6:

SELECT

Vorname,

Familienname, Nachname

AB

people_massachusetts

WO NICHT

hair_color = 'rot'

;

Verwenden des ORDER BY-Befehls

Berechnungen und Organisation können auch innerhalb einer Abfrage erfolgen. Hier kommen die Funktionen ORDER BY und GROUP BY ins Spiel. Zuerst betrachten wir unsere SQL-Abfragen mit den Funktionen ORDER BY und dann GROUP BY. Dann werden wir kurz den Unterschied zwischen den beiden untersuchen.

Mit einer ORDER BY-Klausel können Sie nach jedem der Felder sortieren, die Sie in der SELECT-Anweisung angegeben haben. In diesem Fall bestellen wir nach Nachnamen.

Abfrage 7:

SELECT

Vorname,

Familienname, Nachname

AB

people_massachusetts

WO

hair_color = 'rot'

UND

Geburtsdatum ZWISCHEN „2003“ UND „01“

SORTIEREN NACH

Familienname, Nachname

;

Verwenden des Befehls GROUP BY

GROUP BY ähnelt ORDER BY, aggregiert jedoch ähnliche Daten. Wenn Ihre Daten beispielsweise Duplikate enthalten, können Sie mit GROUP BY die Anzahl der Duplikate in Ihren Feldern zählen.

Abfrage 8:

SELECT

Vorname,

Familienname, Nachname

AB

people_massachusetts

WO

hair_color = 'rot'

UND

Geburtsdatum ZWISCHEN „2003“ UND „01“

GRUPPIERE NACH

Familienname, Nachname

;

BESTELLEN NACH VS. GRUPPIERE NACH

Um den Unterschied zwischen einer ORDER BY-Anweisung und einer GROUP BY-Anweisung zu verdeutlichen, verlassen wir kurz unser Massachusetts-Beispiel und betrachten einen sehr einfachen Datensatz. Nachfolgend finden Sie eine Liste mit den Ausweisnummern und Namen von vier Mitarbeitern.

Wenn wir für diese Liste eine ORDER BY-Anweisung verwenden würden, würden die Namen der Mitarbeiter in alphabetischer Reihenfolge sortiert. Das Ergebnis würde so aussehen:

Wenn wir stattdessen eine GROUP BY-Anweisung verwenden würden, würden die Mitarbeiter basierend auf der Häufigkeit gezählt, mit der sie in der Anfangstabelle auftraten. Beachten Sie, dass Peter in der Anfangstabelle zweimal vorkam, sodass das Ergebnis wie folgt aussehen würde:

Bis jetzt bei mir? Okay, kehren wir zu der SQL-Abfrage zurück, die wir über rothaarige Menschen aus Massachusetts erstellt haben, die 2003 geboren wurden.

Verwenden der LIMIT-Funktion

Abhängig von der Datenmenge, die Sie in Ihrer Datenbank haben, kann die Ausführung Ihrer Abfragen lange dauern. Dies kann frustrierend sein, insbesondere wenn Sie bei Ihrer Abfrage einen Fehler gemacht haben und nun warten müssen, bevor Sie fortfahren. Wenn Sie eine Abfrage testen möchten, können Sie mit der LIMIT-Funktion die Anzahl der erhaltenen Ergebnisse begrenzen.

Wenn wir beispielsweise vermuten, dass Tausende von Menschen in Massachusetts rote Haare haben, möchten wir unsere Abfrage möglicherweise mit LIMIT testen, bevor wir sie vollständig ausführen, um sicherzustellen, dass wir die gewünschten Informationen erhalten. Nehmen wir zum Beispiel an, wir möchten nur die ersten 100 Personen in unserem Ergebnis sehen.

Abfrage 8:

SELECT

Vorname,

Familienname, Nachname

AB

people_massachusetts

WO

hair_color = 'rot'

UND

Geburtsdatum ZWISCHEN „2003“ UND „01“

SORTIEREN NACH

Familienname, Nachname

LIMIT

100

;

Verwenden des INSERT INTO-Befehls

Zusätzlich zum Abrufen von Informationen aus einer relationalen Datenbank kann SQL auch zum Ändern des Inhalts einer Datenbank verwendet werden.

Selbstverständlich benötigen Sie die Erlaubnis, die Daten Ihres Unternehmens zu ändern. Falls Sie jedoch jemals für die Verwaltung des Inhalts einer Datenbank verantwortlich sind, stellen wir Ihnen einige Fragen vor, die Sie kennen sollten.

Erstens gibt es die INSERT INTO-Anweisung zum Einfügen neuer Werte in Ihre Datenbank.

Wenn wir der Tabelle „Massachusetts“ eine neue Person hinzufügen möchten, können wir dies tun, indem wir zunächst den Namen der Tabelle, die wir ändern möchten, und die Felder in der Tabelle angeben, zu der wir hinzufügen möchten.

Als nächstes schreiben wir VALUE mit jedem jeweiligen Wert, den wir hinzufügen möchten.

Abfrage 9:

INSERT INSERT

people_massachusetts (address_city, address_state, address_zip, hair_color, age, first_name, last_name)

WERTE

(Cambridge, Massachusetts, 02139, blond, 32, Jane, Doe)

;

Wenn Sie alternativ jedem Feld in der Tabelle einen Wert hinzufügen, müssen Sie keine Felder angeben. Die Werte werden den Spalten in der Reihenfolge hinzugefügt, in der sie in der Abfrage aufgeführt sind.

Abfrage 10:

INSERT INSERT

people_massachusetts

WERTE

(Cambridge, Massachusetts, 02139, blond, 32, Jane, Doe)

;

Wenn Sie nur bestimmten Feldern Werte hinzufügen möchten, müssen Sie diese Felder angeben. Angenommen, wir möchten nur einen Datensatz mit Vorname, Nachname und Adressstatus einfügen – wir können die folgende Abfrage verwenden.

Abfrage 11:

INSERT INSERT

people_massachusetts (Vorname, Nachname, Adresse_Staat)

WERTE

(Jane, Doe, Massachusetts)

;

Verwenden des UPDATE-Befehls

Sie können UPDATE verwenden, wenn Sie vorhandene Werte in Ihrer Datenbank durch andere ersetzen möchten. Was wäre, wenn zum Beispiel jemand in der Datenbank als rothaarig eingetragen ist, obwohl er tatsächlich braune Haare hat? Wir können diesen Datensatz mit UPDATE- und WHERE-Anweisungen aktualisieren.

Abfrage 12:

AKTUALISIEREN

people_massachusetts

SET

hair_color = 'braun'

WO

Vorname = 'Jane'

UND

last_name = 'Doe'

;

Angenommen, in Ihrer Tabelle liegt ein Problem vor, bei dem einige Werte für „address_state“ als „Massachusetts“ und andere als „MA“ angezeigt werden. Um alle Vorkommen von „MA“ in „Massachusetts“ zu ändern, können wir eine einfache Abfrage verwenden und mehrere Datensätze gleichzeitig aktualisieren.

Abfrage 13:

AKTUALISIEREN

people_massachusetts

SET

address_state = 'Massachusetts'

WO

address_state = MA

;

Seien Sie vorsichtig, wenn Sie UPDATE verwenden. Wenn Sie nicht mit einer WHERE-Anweisung angeben, welche Datensätze geändert werden sollen, ändern Sie alle Werte in der Tabelle.

Verwenden des DELETE-Befehls

DELETE entfernt Datensätze aus Ihrer Tabelle. Achten Sie wie bei UPDATE darauf, eine WHERE-Anweisung einzufügen, damit Sie nicht versehentlich Ihre gesamte Tabelle löschen.

Oder wenn wir in unserer Tabelle „people_massachusetts“ mehrere Datensätze finden, die tatsächlich in Maine lebten, können wir diese Einträge schnell löschen, indem wir auf das Feld „address_state“ abzielen.

Abfrage 13:

LÖSCHEN VON

people_massachusetts

WO

address_state = 'maine'

;

Bonus: Erweiterte SQL-Tipps

Nachdem Sie nun gelernt haben, wie Sie eine einfache SQL-Abfrage erstellen, besprechen wir einige weitere Tricks, mit denen Sie Ihre Abfragen verbessern können, beginnend mit dem Sternchen.

* (Sternchen)

Wenn Sie Ihrer SQL-Abfrage ein Sternchen hinzufügen, teilt es der Abfrage mit, dass Sie alle Datenspalten in Ihre Ergebnisse einbeziehen möchten.

In dem Beispiel aus Massachusetts, das wir verwendet haben, hatten wir nur zwei Spaltennamen: Vorname und Nachname. Nehmen wir jedoch an, wir hätten 15 Datenspalten, die wir in unseren Ergebnissen sehen möchten – es wäre mühsam, alle 15 Spaltennamen in die SELECT-Anweisung einzugeben. Wenn Sie stattdessen die Namen dieser Spalten durch ein Sternchen ersetzen, weiß die Abfrage, dass alle Spalten in die Ergebnisse einbezogen werden müssen.

So würde die SQL-Abfrage aussehen.

Abfrage 13:

SELECT

*

AB

people_massachusetts

WO

hair_color = 'rot'

UND

Geburtsdatum ZWISCHEN „2003“ UND „01“

SORTIEREN NACH

Familienname, Nachname

LIMIT

100

;

% (Prozentzeichen)

Das Prozentzeichen ist ein Platzhalterzeichen, das heißt, es kann ein oder mehrere Zeichen in einem Datenbankwert darstellen. Platzhalterzeichen sind hilfreich beim Auffinden von Datensätzen mit gemeinsamen Zeichen. Sie werden normalerweise mit dem LIKE-Operator verwendet, um ein Muster in den Daten zu finden.

Wenn wir beispielsweise die Namen aller Personen in unserer Tabelle erhalten möchten, deren Postleitzahl mit „02“ beginnt, können wir die folgende Abfrage schreiben.

Abfrage 14:

SELECT

Vorname,

Familienname, Nachname

WO

address_zip LIKE '02%'

;

Hier steht „%“ für jede Zifferngruppe, die auf „02“ folgt, sodass diese Abfrage jeden Datensatz mit einem Wert für „address_zip“ anzeigt, der mit „02“ beginnt.

LETZTEN 30 TAGE

Als ich anfing, regelmäßig SQL zu verwenden, stellte ich fest, dass es bei einer meiner häufigsten Abfragen darum ging, herauszufinden, welche Personen innerhalb der letzten 30 Tage eine Aktion ausgeführt oder bestimmte Kriterien erfüllt haben.

Stellen wir uns vor, heute wäre der 1. Dezember 2021. Sie könnte Erstellen Sie diese Parameter, indem Sie das Geburtsdatum zwischen dem 1. November 2021 und dem 30. November 2021 festlegen. Diese SQL-Abfrage würde so aussehen:

Abfrage 15:

SELECT

Vorname,

Familienname, Nachname

AB

people_massachusetts

WO

hair_color = 'rot'

UND

Geburtsdatum ZWISCHEN „2021“ UND „11“

SORTIEREN NACH

Familienname, Nachname

LIMIT

100

;

Dazu müsste jedoch berücksichtigt werden, welche Daten die letzten 30 Tage umfassen, und Sie müssten diese Abfrage ständig aktualisieren.

Damit sich die Daten stattdessen automatisch über die letzten 30 Tage erstrecken, egal um welchen Tag es sich handelt, können Sie dies stattdessen unter AND eingeben: Geburtsdatum >= (DATE_SUB(CURDATE(),INTERVAL 30))

(Hinweis: Sie sollten diese Syntax noch einmal mit Ihrem Produktteam überprüfen, da sie je nach der Software, die Sie zum Abrufen Ihrer SQL-Abfragen verwenden, unterschiedlich sein kann.)

Ihre vollständige SQL-Abfrage würde daher wie folgt aussehen.

Abfrage 16:

SELECT

Vorname,

Familienname, Nachname

AB

people_massachusetts

WO

hair_color = 'rot'

UND

Geburtsdatum >= (DATE_SUB(CURDATE(),INTERVAL 30))

SORTIEREN NACH

Familienname, Nachname

LIMIT

100

;

ANZAHL

In manchen Fällen möchten Sie möglicherweise zählen, wie oft ein Kriterium eines Felds vorkommt. Nehmen wir zum Beispiel an, Sie möchten zählen, wie oft die verschiedenen Haarfarben bei den Personen aus Massachusetts vorkommen, die Sie zählen.

In diesem Fall ist COUNT hilfreich, sodass Sie die Anzahl der Personen mit unterschiedlichen Haarfarben nicht manuell addieren oder diese Informationen nach Excel exportieren müssen.

So würde diese SQL-Abfrage aussehen:

Abfrage 17:

SELECT

Haarfarbe,

COUNT(hair_color)

AB

people_massachusetts

UND

Geburtsdatum ZWISCHEN „2003“ UND „01“

GRUPPIERE NACH

Haarfarbe

;

AVG

AVG berechnet den Durchschnitt eines Attributs in den Ergebnissen Ihrer Abfrage, ohne NULL-Werte (leer). In unserem Beispiel könnten wir AVG verwenden, um das Durchschnittsalter der Einwohner von Massachusetts in unserer Abfrage zu berechnen.

So könnte unsere SQL-Abfrage aussehen:

Abfrage 18:

SELECT

AVG(Alter)

AB

people_massachusetts

;

SUM

SUM ist eine weitere einfache Berechnung, die Sie in SQL durchführen können. Es berechnet den Gesamtwert aller Attribute Ihrer Abfrage. Wenn wir also das gesamte Alter der Einwohner von Massachusetts addieren möchten, können wir die folgende Abfrage verwenden.

Abfrage 19:

SELECT

SUM(Alter)

AB

people_massachusetts

;

Verwendung von MIN und MAX

MIN und MAX sind zwei SQL-Funktionen, die Ihnen die kleinsten und größten Werte eines bestimmten Felds liefern. Wir können damit die ältesten und jüngsten Mitglieder unserer Massachusetts-Tabelle identifizieren:

Die folgende Abfrage liefert uns die Aufzeichnungen der jüngsten Personen.

Abfrage 20:

SELECT

MIN(Alter)

AB

people_massachusetts

;

Und diese Abfrage gibt uns das Älteste:

Abfrage 21:

SELECT

MAX(Alter)

AB

people_massachusetts

;

Verwenden des JOIN-Befehls

Es kann vorkommen, dass Sie in einer SQL-Abfrage auf Informationen aus zwei verschiedenen Tabellen zugreifen müssen. In SQL können Sie dazu eine JOIN-Klausel verwenden.

(Für diejenigen, die damit vertraut sind Excel-Formeln, dies ähnelt der Verwendung der SVERWEIS-Formel, wenn Sie Informationen aus zwei verschiedenen Tabellenblättern in Excel kombinieren müssen.)

Nehmen wir an, wir haben eine Tabelle mit Daten zu den Benutzer-IDs und Geburtsdaten aller Einwohner von Massachusetts. Darüber hinaus haben wir eine völlig separate Tabelle mit den Benutzer-IDs aller Einwohner von Massachusetts und ihrer Haarfarbe.

Wenn wir die Haarfarbe der im Jahr 2003 geborenen Einwohner von Massachusetts bestimmen möchten, müssen wir auf Informationen aus beiden Tabellen zugreifen und diese kombinieren. Dies funktioniert, weil beide Tabellen eine übereinstimmende Spalte haben: Benutzer-IDs.

Auch unsere SELECT-Anweisung wird sich geringfügig ändern, da wir Felder aus zwei verschiedenen Tabellen aufrufen. Anstatt nur die Felder aufzulisten, die wir in unsere Ergebnisse einbeziehen möchten, müssen wir angeben, aus welcher Tabelle sie stammen.

(Hinweis: Die Sternchenfunktion kann hier nützlich sein, damit Ihre Abfrage beide Tabellen in Ihre Ergebnisse einbezieht.)

Um ein Feld aus einer bestimmten Tabelle anzugeben, müssen wir lediglich den Namen der Tabelle mit dem Namen des Felds kombinieren. Unsere SELECT-Anweisung würde beispielsweise „table.field“ lauten – wobei der Punkt die Tabellen- und Feldnamen trennt.

Wir gehen auch in diesem Fall von einigen Dingen aus:

  1. Die Geburtsdatumstabelle für Massachusetts enthält die folgenden Felder: Vorname, Nachname, Benutzer-ID, Geburtsdatum
  2. Die Haarfarbentabelle für Massachusetts enthält die folgenden Felder: user_id, hair_color

Ihre SQL-Abfrage würde wie folgt aussehen.

Abfrage 21:

SELECT

Geburtsdatum_Massachusetts.Vorname,

Geburtsdatum_Massachusetts.Nachname

AB

birthdate_massachusetts JOIN haircolor_massachusetts USING (user_id)

WO

hair_color = 'rot'

UND

Geburtsdatum ZWISCHEN „2003“ UND „01“

SORTIEREN NACH

Familienname, Nachname

;

Diese Abfrage würde die beiden Tabellen mithilfe des Felds „user_id“ verbinden, das sowohl in der Tabelle „birthdate_massachusetts“ als auch in der Tabelle „haircolor_massachusetts“ vorkommt. Anschließend sehen Sie eine Tabelle mit Menschen des Jahrgangs 2003 mit roten Haaren.

Verwenden einer CASE-Anweisung

Verwenden Sie eine CASE-Anweisung, wenn Sie basierend auf der erfüllten Bedingung unterschiedliche Ergebnisse für Ihre Abfrage zurückgeben möchten. Die Bedingungen werden der Reihe nach ausgewertet. Sobald eine Bedingung erfüllt ist, wird das entsprechende Ergebnis zurückgegeben und alle folgenden Bedingungen werden übersprungen.

Sie können am Ende eine ELSE-Bedingung einfügen, wenn keine Bedingungen erfüllt sind. Ohne ELSE gibt die Abfrage NULL zurück, wenn keine Bedingungen erfüllt sind.

Hier ist ein Beispiel für die Verwendung von CASE zur Rückgabe einer Zeichenfolge basierend auf der Abfrage.

Abfrage 22:

SELECT

Vorname,

Familienname, Nachname

AB

people_massachusetts

CASE

WHEN hair_color = 'brown' THEN 'Diese Person hat braunes Haar.'

WHEN hair_color = 'blonde' THEN 'Diese Person hat blondes Haar.'

WHEN hair_color = 'red' THEN 'Diese Person hat rote Haare.'

ELSE „Haarfarbe nicht bekannt.“

ENDE

;

Grundlegende SQL-Abfragen, die Vermarkter kennen sollten

Glückwunsch! Sie sind bereit, Ihre eigenen SQL-Abfragen auszuführen.

Obwohl Sie mit SQL noch viel mehr tun können, hoffe ich, dass Sie diesen Überblick über die Grundlagen hilfreich fanden, damit Sie sich die Hände schmutzig machen können.

Mit einer soliden Grundlage der Grundlagen können Sie sich besser in SQL zurechtfinden und an einigen der komplexeren Beispiele arbeiten.

Anmerkung des Herausgebers: Dieser Beitrag wurde ursprünglich im März 2015 veröffentlicht und aus Gründen der Vollständigkeit aktualisiert.

Neuer Handlungsaufruf

Zeitstempel:

Mehr von Hub Spot