top of page
bg-grid 1.png

SQL Query: Fungsi, Istilah Penting, dan Cara Penulisan

Ketahui lebih lengkap tentang fungsi, istilah penting, dan cara penulisan SQL Query di artikel berikut!

Data Analytics

Bobby Christian

Mau Belajar

Data Analytics

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 12500+ member selamanya untuk support perkembangan karir kamu!

Structured Query Language, atau yang sering kita sebut sebagai SQL, merupakan bahasa pemrograman yang digunakan untuk mengelola dan memanipulasi data yang ada di dalam database


Seluruh perintah yang dijalankan dalam pemrograman SQL ini biasa kita sebut sebagai query, atau queries apabila perintah yang dijalankan sangat banyak. 


Dikutip dari kamus Cambridge, arti dari kata query adalah: a question, often expressing doubt about something or looking for an answer from an authority. Bila diterjemahkan, query ini berarti sebuah pertanyaan, yang diharapkan kita bisa mendapatkan jawabannya dari pihak yang berwenang. 


Dalam kasus pemrograman SQL, kita mendapatkannya berdasarkan data dari database. Dalam praktiknya, apabila kita menuliskan query pada database, kita mencari jawaban atas pertanyaan yang ingin kita tanyakan ke database. Sebagai contoh, kita akan sering menggunakan perintah query SELECT untuk menampilkan data yang kita inginkan pada database


Istilah-istilah Penting terkait SQL Query


Query sendiri seperti yang telah dijelaskan sebelumnya, merupakan sebuah pertanyaan yang kita tanyakan kedalam database untuk mencari data yang kita inginkan dengan kondisi tertentu. 


Dalam praktiknya, bahasa pemrograman SQL ini sering dibagi ke dalam beberapa language elements, yang istilah ini sering digunakan oleh beberapa programmer untuk menentukan bagian-bagian dari operasi SQL. Berikut ini merupakan pembagiannya: 


#1 Clause

  

Clause atau klausa merupakan bagian dari SQL statement yang digunakan untuk melakukan fungsi spesifik. Beberapa klausa yang umum digunakan seperti klausa SELECT, FROM, WHERE, ORDER BY, GROUP BY, dan lainnya. 


#2 Statement


Statement merupakan keseluruhan perintah SQL yang digunakan untuk melakukan fungsi spesifik, seperti: 

a) memasukan data ke dalam database

b) menghapus data pada database, dan lainnya. 


Contoh penulisan sebuah SQL statement secara lengkap adalah: 

SELECT customer_id, transaction_date, SUM(transaction_value) AS total_trx
FROM unified_orders
WHERE EXTRACT(MONTH FROM transaction_date) = 
2 AND EXTRACT (YEAR FROM transaction_date) = 2023
GROUP BY customer_id, transaction_date
ORDER BY SUM(transaction_value) DESC

Contoh penulisan SQL statement di atas merupakan sebuah fungsi atau operasi lengkap. Kita akan memilih untuk mengeluarkan data customer_id dan transaction_date


Total transaksi masing-masing customer yang digambarkan pada SUM(transaction_value) dari tabel unified_orders akan dikelompokan berdasarkan tiap customer_id dan transaction_date di mana transaksi terjadi pada bulan 2 dan tahun 2023. Lalu data tersebut akan diurutkan berdasarkan nilai transaksi terbanyak secara menurun. 


#3 Expression


Sebuah expression merupakan gabungan dari sebuah nilai, sebuah operator, dan juga fungsi yang digunakan untuk menghasilkan sebuah nilai parameter tertentu. Biasanya digunakan di beberapa klausa seperti SELECT, WHERE, dan HAVING untuk melakukan kalkulasi atau perbandingan. Perhatikan contoh berikut: 

SELECT customer_id, transaction_date, SUM(transaction_value) AS total_trx
FROM unified_orders 
WHERE transaction_date >= CURRENT_DATE() - 1
AND HAVING SUM(transaction_value) >= 100000
GROUP BY customer_id, transaction_date
ORDER BY SUM(transaction_value) DESC

Pada contoh statement di atas, bagian yang berwarna merah merupakan sebuah expression. Sama seperti pada contoh di nomor 2, kita akan memilih customer_id dan transaction_date, dan total transaksi yang digambarkan sebagai SUM(transcation_value).


Namun kita akan menuliskan kondisi di mana tanggal transaksi dimulai dari tanggal kemarin (CURRENT_DATE() - 1) dan memilih transaksi yang nilainya lebih besar atau sama dengan 100000, dikelompokkan berdasarkan customer_id dan transaction_date, lalu diurutkan berdasarkan transaksi terbesar secara menurun. 


#4 Predicate


Predicate merupakan kondisi logika yang digunakan untuk filter data pada query. Predicate ini biasa berada pada klausa WHERE dan HAVING untuk mengambil data yang memenuhi kondisi tertentu saja. Perhatikan contoh berikut ini: 

SELECT customer_id, transaction_date, SUM(transaction_value) AS total_trx 
FROM unified_orders 
WHERE transaction_date = ‘2023-04-01’ AND customer_id = ‘ID0001’
GROUP BY customer_id, transaction_date
ORDER BY SUM(transaction_value) DESC

Pada contoh statement di atas, bagian yang berwarna merah merupakan sebuah predicate. Kita akan memilih kolom yang sama seperti pada contoh pada nomor 3, namun hanya data pada tanggal 1 April dan juga customer_id ‘ID0001’. Apabila kedua expression itu ditemukan dalam database, maka kedua expression ini akan bersifat TRUE, sehingga data tersebut akan ditampilkan. 


#5 Subquery 


Penggunaan subquery ini biasa dilakukan apabila fungsi yang kita buat sangat kompleks dan sulit untuk diselesaikan dalam sekali query. Subquery merupakan istilah yang digunakan ketika ada sebuah query di dalam query. Perhatikan contoh berikut ini: 

SELECT transaction_date, product_name, SUM(qty) AS qty FROM 
(SELECT * FROM unified_orders WHERE transaction_date >= ‘2023-03-01’)
WHERE product_name IN 
(SELECT DISTINCT product_name FROM unified_orders 
WHERE transaction_date >= ‘2023-03-01’)
GROUP BY transaction_date, product_name
ORDER BY transation_date ASC

Contoh di atas terlihat rumit karena ada klausa SELECT di dalam sebuah klausa SELECT. Bagian berwarna merah merupakan contoh subqueries. Pada contoh di atas, kita akan menyebut klausa SELECT yang berwarna hitam merupakan outer query, sedangkan yang berwarna merah merupakan inner query


SQL statement ini berfungsi untuk mengeluarkan jumlah produk terjual tiap harinya (outer query), di mana produk yang ingin ditampilkan hanya produk yang dijual sejak tanggal 01 Maret 2023 (inner query pertama). Dengan kondisi nama produk pada product_name hanya nama produk yang muncul pada data penjualan sejak tanggal 01 Maret 2023 (inner query kedua).


Contoh SQL statement di atas merupakan salah satu aplikasi dari subquery. Kita bisa menggunakan statement tersebut untuk mengecek performa penjualan produk baru yang dijual sejak 01 Maret 2023. 


#6 Join 


Penggunaan JOIN ini biasa digunakan untuk menggabungkan data dari 2 atau lebih kolom. Ada berbagai bentuk JOIN, seperti INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, dan lainnya yang lebih lengkap akan dibahas pada artikel SQL  JOIN


Perhatikan contoh berikut ini: 

SELECT c.customer_id, c.customer_name, c.customer_age, o.product_name, o.qty 
FROM unified_orders AS o
LEFT JOIN customer_info AS c ON c.customer_id = o.customer_id
WHERE o.transaction_date >= ‘2023-03-01’

Pada contoh di atas, bagian berwarna merah merupakan syarat untuk penulisan SQL statement dengan operasi JOIN. Pada dasarnya, operasi JOIN ini akan menggabungkan tabel unified_orders dengan tabel customer_info di mana kolom customer_id pada tabel customer_info sama dengan kolom customer_id pada tabel unified_orders


Operasi JOIN ini dilakukan dengan kaidah LEFT JOIN. Oleh karena itu, semua baris data pada tabel unified_orders tidak terkecuali akan ditampilkan. Sedangkan apabila ada customer_id yang nilainya tidak ditemukan pada tabel customer_info, maka SQL akan mengembalikan keluaran NULL


#7 Transactions 


Pada SQL, ada sebuah kelompok perintah SQL yang juga termasuk Transaction Control Language (TCL) untuk menggabungkan beberapa perintah SQL tertentu menjadi sebuah fungsi operasi yang hanya memiliki output sukses atau gagal pada operasinya. 


Transactions ini digunakan untuk memastikan konsistensi dan integritas dalam sebuah database. Beberapa contoh klausa yang biasa ada dalam grup ini adalah BEGIN TRANSACTION, COMMIT, ROLLBACK, SAVEPOINT


Penutup


Query pada SQL ini disebut juga sebagai ‘pertanyaan’ yang bisa kita tanyakan ke dalam database, dinyatakan dalam SQL statement


Di dalam sebuah SQL statement itu sendiri, terdapat beberapa klausa, expression, predicate, dan operator lainnya yang digunakan untuk menyusun sebuah query yang komplit dan lengkap.  Oleh karena itu, diperlukan pemahaman yang kuat dalam penyusunan sebuah query agar SQL dapat mengerti pertanyaan yang hendak kita ‘tanyakan’ pada database.

bottom of page