PostgreSQL mendukung operator aritmetika dasar, termasuk pengurangan (-), untuk berbagai tipe data numerik.
Sebelum lanjut membaca, saya ingin memperkenalkan database manager PostgreSQL yang modern dan cepat buatan kami, Beekeeper Studio. Editor SQL-nya dengan autocomplete membuat Anda bisa mencoba perhitungan ini dengan cepat, dan gratis digunakan untuk PostgreSQL, unduh di sini.
Contoh pertama kita cukup sederhana: mengurangkan dua bilangan bulat. Cara ini berlaku di semua database berbasis SQL, bukan hanya PostgreSQL.
SELECT 15 - 5 AS result;
Output yang diharapkan:
| result |
|---|
| 10 |
Mengurangkan Kolom
Sekarang, mari kita lihat cara mengurangkan satu kolom dari kolom lain. Misalkan ada tabel penjualan sales dengan struktur berikut:
| id | item | price | discount |
|---|---|---|---|
| 1 | A | 100 | 20 |
| 2 | B | 200 | 50 |
Anda ingin mengetahui harga akhir setelah diskon diterapkan. Caranya, kurangkan diskon dari harga.
SELECT id, item, price - discount AS Final_Price FROM sales;
Output yang diharapkan:
| id | item | final_price |
|---|---|---|
| 1 | A | 80 |
| 2 | B | 150 |
Mengurangkan Tanggal
Mengurangkan tanggal di PostgreSQL menghasilkan selisih antara dua tanggal dalam satuan hari.
Misalkan ada tabel rentals seperti berikut:
| id | item | rent_start_date | rent_end_date |
|---|---|---|---|
| 1 | Sepeda | 2022-03-01 | 2022-03-10 |
| 2 | Mobil | 2022-02-20 | 2022-03-02 |
Hitung durasi sewa:
SELECT id, item, rent_end_date - rent_start_date as rental_duration FROM rentals;
Output yang diharapkan:
| id | item | rental_duration |
|---|---|---|
| 1 | Sepeda | 9 |
| 2 | Mobil | 10 |
Pengurangan dengan Timestamp
Di PostgreSQL, mengurangkan timestamp menghasilkan interval antara dua timestamp.
Bayangkan kita punya tabel logins:
| id | login_time | logout_time |
|---|---|---|
| 1 | 2022-03-15 08:00:00 | 2022-03-15 10:30:00 |
| 2 | 2022-03-15 07:30:00 | 2022-03-15 10:00:00 |
Hitung durasi setiap sesi:
SELECT id, logout_time - login_time as session_duration FROM logins;
Output yang diharapkan:
| id | session_duration |
|---|---|
| 1 | 02:30:00 |
| 2 | 02:30:00 |
Contoh Penggunaan Praktis
Manajemen Inventaris
Berikut contoh menghitung stok yang tersedia untuk setiap produk dengan mengurangkan jumlah barang terjual dari total stok.
Misalkan kita punya tabel inventaris dengan struktur berikut:
CREATE TABLE inventory (
product_id SERIAL PRIMARY KEY,
product_name VARCHAR(255),
total_stock INT,
sold INT
);
Contoh Data:
INSERT INTO inventory (product_name, total_stock, sold) VALUES
('Product A', 100, 50),
('Product B', 200, 180),
('Product C', 150, 140);
Query: Menghitung Stok Tersedia
SELECT product_id, product_name, total_stock - sold AS available_stock
FROM inventory;
Output yang Diharapkan:
product_id | product_name | available_stock
------------+--------------+-----------------
1 | Product A | 50
2 | Product B | 20
3 | Product C | 10
Dalam query ini, kita mengurangkan jumlah sold dari total_stock untuk mendapatkan available_stock setiap produk.
Menghitung Usia
Fungsi age di PostgreSQL digunakan untuk menghitung selisih antara dua tanggal, dengan hasil berupa tipe interval kompleks yang mencakup tahun, bulan, dan hari.
Berikut contoh penggunaan praktis ketika Anda ingin menghitung usia pelanggan dalam sebuah tabel.
Misalkan Anda punya tabel customers dengan kolom birthdate.
SELECT customer_id, birthdate, age(current_date, birthdate) AS age
FROM customers;
Output yang Diharapkan:
customer_id | birthdate | age
-------------+------------+----------------------
1 | 1990-04-25 | 34 years 3 mons 12 days
2 | 1985-10-12 | 38 years 9 mons 24 days
3 | 2000-01-01 | 24 years 7 mons 5 days
Kesimpulan
Pengurangan di PostgreSQL adalah alat serbaguna yang bisa diterapkan pada angka, tanggal, dan interval. Dalam artikel ini, kita telah membahas operasi pengurangan di PostgreSQL, baik untuk angka maupun tanggal. Selalu periksa tipe data dan pastikan kompatibilitasnya saat melakukan perhitungan. Nantikan artikel berikutnya dalam seri ini, saat kita membahas konsep SQL tingkat lanjut lebih dalam. Selamat coding!
Artikel lain yang mungkin Anda suka:
Beekeeper Studio Adalah GUI PostgreSQL Gratis & Open Source
Inilah client PostgreSQL yang selama ini saya cari! UI-nya yang membuatnya beda: bersih, intuitif, dan powerful. Selamat tinggal PGAdmin yang kaku. - David Cyprian
Beekeeper Studio adalah client PostgreSQL yang cepat, intuitif, dan mudah digunakan. Juga mendukung banyak database lain, dan berjalan lancar di Windows, Mac, dan Linux.
Apa Kata Pengguna PostgreSQL tentang Beekeeper Studio
Tidak seperti pgAdmin, Beekeeper sangat mudah digunakan tanpa kekurangan fitur–dan harganya pas! Fitur backup database-nya sangat berguna. Software yang luar biasa.
Tool yang luar biasa, IDE paling praktis yang pernah saya temukan untuk admin database Postgres dan MySql - langsung jalan, tanpa ribet :-)