🧚 Hör mal! Beekeeper Studio ist eine schnelle, moderne und Open-Source-MySQL-GUI Download
29. April 2024 Von Matthew Rathbone

Einführung

Heute schauen wir uns an, wie du in MySQL, einer beliebten Plattform für relationale Datenbanken, Subtraktionen durchführst. Dieses Tutorial konzentriert sich auf die Subtraktion in MySQL und deckt verschiedene Szenarien ab – von einfachen Rechenoperationen bis hin zu komplexeren Anwendungsfällen wie der Berechnung von Differenzen zwischen Zeilen oder Datumswerten.

Hinweis: Viele SQL-Konzepte lassen sich auf andere Datenbankmanagementsysteme übertragen, die Beispiele in diesem Artikel sind aber speziell für MySQL gedacht.

Bevor du weiterliest, wollte ich dir kurz unseren modernen MySQL-Client Beekeeper Studio vorstellen. Mit dem SQL-Editor samt Autovervollständigung probierst du diese Berechnungen im Handumdrehen aus, und für MySQL ist er kostenlos – hier herunterladen.

Voraussetzungen

Dieses Tutorial setzt voraus, dass du dich mit MySQL auskennst. Stell sicher, dass du MySQL installiert hast und Zugriff auf eine Datenbank hast, in der du Abfragen ausführen kannst.

Abschnitt 1: Grundlegende Rechenoperationen in MySQL

Zahlen subtrahieren

MySQL unterstützt grundlegende arithmetische Operatoren direkt in der SELECT-Anweisung. So führst du eine einfache Subtraktion durch:

SELECT 15 - 7 AS difference;

Erwartete Ausgabe

+------------+
| difference |
+------------+
|          8 |
+------------+

Diese Abfrage zieht 7 von 15 ab und benennt die Ausgabe als difference.

Das ist die einfachste Art, in MySQL zu subtrahieren. Mit dem Operator ‘-‘ kannst du Zahlen direkt subtrahieren oder numerische Werte aus verschiedenen Spalten einer Tabelle voneinander abziehen.

Spalten subtrahieren

Um zwei Spalten in einer MySQL-Tabelle voneinander abzuziehen, nehmen wir eine Tabelle namens financials mit den Spalten revenue und expenses.

SELECT revenue, expenses, (revenue - expenses) AS net_income FROM financials;

Erwartete Ausgabe:

+---------+----------+------------+
| revenue | expenses | net_income |
+---------+----------+------------+
| 10000   | 7000     | 3000       |
| 15000   | 12000    | 3000       |
+---------+----------+------------+

Diese Abfrage berechnet den Nettogewinn, indem sie expenses von revenue abzieht.

Abschnitt 2: Arbeiten mit Datumswerten

Datumswerte subtrahieren

In MySQL kannst du durch das Subtrahieren von Datumswerten Zeiträume berechnen, etwa die Anzahl der Tage zwischen zwei Daten. Dafür stellt MySQL die Funktion DATEDIFF() bereit.

SELECT DATEDIFF('2023-12-31', '2023-01-01') AS days_difference;

Erwartete Ausgabe:

+-----------------+
| days_difference |
+-----------------+
|             364 |
+-----------------+

DATEDIFF() gibt die Anzahl der Tage zwischen zwei Daten zurück – besonders nützlich für Finanz- und Personalberechnungen.

Zeitintervalle subtrahieren

Mit der Funktion DATE_SUB() kannst du in MySQL bestimmte Zeitintervalle von einem Datum abziehen. So ziehst du 30 Tage von einem bestimmten Datum ab:

SELECT DATE_SUB('2023-12-31', INTERVAL 30 DAY) AS new_date;

Erwartete Ausgabe:

+------------+
| new_date   |
+------------+
| 2023-12-01 |
+------------+

Abschnitt 3: Fortgeschrittene Subtraktionstechniken

Laufende Summen berechnen

Um die Berechnung einer laufenden Summe mit Subtraktion zu zeigen, nehmen wir eine Buchungstabelle namens transactions mit den Spalten id, date und amount.

SET @running_total := 0;

SELECT 
  id,
  date,
  amount,
  (@running_total := @running_total - amount) AS running_total
FROM transactions
ORDER BY date;

Erwartete Ausgabe:

+----+------------+--------+---------------+
| id | date       | amount | running_total |
+----+------------+--------+---------------+
|  1 | 2023-01-01 | 500    | -500          |
|  2 | 2023-01-02 | 150    | -650          |
+----+------------+--------+---------------+

Diese Abfrage nutzt eine Session-Variable, um die laufende Summe festzuhalten, und zieht jeden Transaktionsbetrag der Reihe nach ab.

MySQL-Subtraktion mit NULL-Werten

Denk daran: MySQL behandelt NULL als unbekannten Wert. Kommt NULL in einer Subtraktion vor, ist auch das Ergebnis NULL. Um das zu lösen, kannst du die Funktion COALESCE verwenden.

SELECT COALESCE(column1, 0) - COALESCE(column2, 0) AS 'result' FROM table_name;

Enthält column1 oder column2 NULL, behandelt die Funktion COALESCE den Wert als ‘0’, sodass die Subtraktion trotzdem ein korrektes Ergebnis liefert.

Fazit

In SQL sind nicht alle Operationen so einfach, wie sie scheinen – und die Subtraktion gehört dazu. Der beste Ansatz hängt davon ab, ob du Zahlen, Spalten oder Datumswerte subtrahierst oder komplexere Berechnungen durchführst.

Übe diese Szenarien selbst und experimentiere mit anderen Tabellen und Spaltennamen.

Bleib neugierig und lerne weiter!

Für komplexere Abfragen und praktische Anwendungen lohnt sich ein Blick in die umfangreiche Dokumentation und die Funktionen von MySQL.

Beekeeper Studio ist eine kostenlose & Open-Source-MySQL-GUI

Ich nutze Beekeeper Studio seit Kurzem für meine MySQL-Arbeit und es ist schnell zu einem meiner liebsten Datenbank-Tools geworden. Die Oberfläche ist aufgeräumt, modern und ablenkungsfrei, sodass man sich ganz auf die Abfragen konzentrieren kann – ohne das Durcheinander, das man von manchen anderen Tools kennt. - Surendra Singh

Beekeeper Studio ist ein schneller, intuitiver und einfach zu bedienender MySQL-Client. Er unterstützt auch jede Menge andere Datenbanken und läuft super unter Windows, Mac und Linux.

Die Linux-Version von Beekeeper hat 100% des Funktionsumfangs, ohne Abstriche und ohne Kompromisse.

Was MySQL-Nutzer über Beekeeper Studio sagen

Beekeeper Beekeeper Still a Newbie

Ich habe mich nach Jahren mit phpMyAdmin für dieses Programm entschieden – es fühlt sich an, als würde man eine Welt höherer Qualität betreten; hier hatte ich wirklich das Gefühl, dass man sich ernsthaft um den Nutzer kümmert. Das Konzept an sich, die Umsetzung, die praktische Erfahrung – für all das bin ich Matthew aufrichtig dankbar.

Alex M

Fantastisches Tool, die praktischste IDE, die ich bisher für die Administration von Postgres- und MySQL-Datenbanken gefunden habe – es funktioniert einfach, ohne Theater :-)

Bereit, deinen MySQL-Workflow zu verbessern?

download Kostenlos herunterladen