Pendahuluan
Hari ini kita akan membahas cara melakukan pengurangan di MySQL, platform populer untuk mengelola database relasional. Tutorial ini berfokus pada pengurangan di MySQL, mencakup berbagai skenario mulai dari operasi aritmetika dasar hingga kasus yang lebih kompleks seperti menghitung selisih antar baris atau tanggal.
Catatan: Meskipun banyak konsep SQL berlaku di berbagai sistem manajemen database, contoh dalam artikel ini dirancang khusus untuk MySQL.
Sebelum Anda lanjut membaca, saya ingin memperkenalkan client MySQL modern kami, Beekeeper Studio. Editor SQL-nya dengan autocomplete membuat Anda bisa mencoba perhitungan ini dengan cepat, dan gratis digunakan untuk MySQL, unduh di sini.
Prasyarat
Tutorial ini mengasumsikan Anda sudah familier dengan MySQL. Pastikan MySQL sudah terinstal dan Anda punya akses ke database tempat Anda bisa menjalankan query.
Bagian 1: Operasi Aritmetika Dasar di MySQL
Mengurangkan Angka
MySQL mendukung operator aritmetika dasar langsung di statement SELECT. Berikut cara melakukan pengurangan sederhana:
SELECT 15 - 7 AS difference;
Output yang Diharapkan
+------------+
| difference |
+------------+
| 8 |
+------------+
Query ini mengurangkan 7 dari 15 dan memberi label output sebagai difference.
Ini adalah cara paling sederhana untuk melakukan pengurangan di MySQL. Operator ‘-‘ bisa digunakan untuk mengurangkan angka secara langsung, atau mengurangkan nilai numerik yang tersimpan di kolom-kolom berbeda dalam sebuah tabel.
Mengurangkan Kolom
Untuk mengurangkan dua kolom dalam tabel MySQL, misalkan ada tabel bernama financials dengan kolom revenue dan expenses.
SELECT revenue, expenses, (revenue - expenses) AS net_income FROM financials;
Output yang Diharapkan:
+---------+----------+------------+
| revenue | expenses | net_income |
+---------+----------+------------+
| 10000 | 7000 | 3000 |
| 15000 | 12000 | 3000 |
+---------+----------+------------+
Query ini menghitung pendapatan bersih dengan mengurangkan expenses dari revenue.
Bagian 2: Bekerja dengan Tanggal
Mengurangkan Tanggal
Di MySQL, pengurangan tanggal bisa digunakan untuk menghitung interval, misalnya jumlah hari di antara dua tanggal. Untuk ini, MySQL menyediakan fungsi DATEDIFF().
SELECT DATEDIFF('2023-12-31', '2023-01-01') AS days_difference;
Output yang Diharapkan:
+-----------------+
| days_difference |
+-----------------+
| 364 |
+-----------------+
DATEDIFF() mengembalikan jumlah hari di antara dua tanggal, yang sangat berguna untuk perhitungan keuangan dan kepegawaian.
Mengurangkan Interval Waktu
MySQL memungkinkan pengurangan interval waktu tertentu dari tanggal menggunakan fungsi DATE_SUB(). Berikut cara mengurangkan 30 hari dari tanggal tertentu:
SELECT DATE_SUB('2023-12-31', INTERVAL 30 DAY) AS new_date;
Output yang Diharapkan:
+------------+
| new_date |
+------------+
| 2023-12-01 |
+------------+
Bagian 3: Teknik Pengurangan Lanjutan
Menghitung Running Total
Untuk mendemonstrasikan perhitungan running total yang melibatkan pengurangan, misalkan ada tabel buku besar bernama transactions dengan kolom id, date, dan amount.
SET @running_total := 0;
SELECT
id,
date,
amount,
(@running_total := @running_total - amount) AS running_total
FROM transactions
ORDER BY date;
Output yang Diharapkan:
+----+------------+--------+---------------+
| id | date | amount | running_total |
+----+------------+--------+---------------+
| 1 | 2023-01-01 | 500 | -500 |
| 2 | 2023-01-02 | 150 | -650 |
+----+------------+--------+---------------+
Query ini menggunakan variabel sesi untuk melacak running total, dengan mengurangkan setiap jumlah transaksi secara berurutan.
Pengurangan di MySQL dengan Nilai NULL
Ingat, MySQL memperlakukan NULL sebagai nilai yang tidak diketahui. Jika NULL disertakan dalam operasi pengurangan, hasilnya juga akan NULL. Untuk mengatasinya, Anda bisa menggunakan fungsi COALESCE.
SELECT COALESCE(column1, 0) - COALESCE(column2, 0) AS 'result' FROM table_name;
Jika column1 atau column2 berisi NULL, fungsi COALESCE memperlakukannya sebagai ‘0’, sehingga operasi pengurangan tetap mengembalikan hasil yang akurat.
Kesimpulan
Di SQL, tidak semua operasi semudah kelihatannya, dan pengurangan salah satunya. Pendekatan terbaik berbeda-beda tergantung apakah Anda mengurangkan angka, kolom, nilai tanggal, atau melakukan perhitungan yang lebih lanjut.
Latih skenario-skenario ini sendiri dan bereksperimenlah dengan tabel dan nama kolom lain.
Terus jelajahi, terus belajar!
Untuk query yang lebih kompleks dan penerapan di dunia nyata, lanjutkan menjelajahi dokumentasi dan fungsionalitas MySQL yang lengkap.
Beekeeper Studio Adalah GUI MySQL Gratis & Open Source
Belakangan ini saya memakai Beekeeper Studio untuk pekerjaan MySQL saya, dan aplikasi ini dengan cepat menjadi salah satu tool database favorit saya. Antarmukanya bersih, modern, dan bebas gangguan, sehingga mudah fokus pada query tanpa kerumitan yang ada di beberapa tool lain. - Surendra Singh
Beekeeper Studio adalah client MySQL yang cepat, intuitif, dan mudah digunakan. Aplikasi ini juga mendukung banyak database lain, dan berjalan mulus di Windows, Mac, dan Linux.
Apa Kata Pengguna MySQL Tentang Beekeeper Studio
Saya memilih program ini setelah bertahun-tahun memakai phpMyAdmin—rasanya seperti masuk ke dunia dengan kualitas lebih tinggi; di sini, saya benar-benar merasa pengguna sungguh diperhatikan. Konsepnya, implementasinya, pengalaman praktisnya—saya sangat berterima kasih kepada Matthew untuk semuanya.
Tool yang luar biasa, IDE paling praktis yang pernah saya temukan sejauh ini untuk administrasi db Postgres dan MySql - langsung jalan, tanpa ribet :-)