Select
Salah satu perintah atau query yang cukup umum digunakan untuk mengambil data dari database dan tabel, adalah query SELECT.
Sebuah database umumnya memiliki struktur penyusun. Di dalam sebuah database, terdapat berbagai macam objek SQL, seperti views, dataset, tabel, procedure, dan lainnya.
Dalam SQL, data ini tersimpan dalam tabel yang terdiri dari baris dan kolom. Tampilan tabel dalam SQL ini dapat dibayangkan sama seperti tampilan Google Sheets, di mana ada kolom yang berisi komponen tiap tabel, dan juga baris yang berisikan data penyusun tabel tersebut.
Perintah SELECT digunakan untuk mengambil data pada tabel tersebut. Query ini dapat digabungkan dengan perintah SQL lainnya seperti WHERE, JOIN, CASE-WHEN, dll., apabila kita ingin menerapkan beberapa kondisi penarikan tertentu, seperti:
Bagaimana Cara Menggunakan SQL SELECT?
Cara penulisan query SELECT ini cukup mudah, hanya perlu menuliskan SELECT di awal, lalu diikuti dengan nama tabel. Perhatikan contoh penulisan query SELECT berikut:
Bentuk penulisan query SELECT pada umumnya mengikuti bentuk seperti di atas. Apabila kita menjalankan query seperti query di atas, maka kita akan memilih beberapa atau semua kolom dari tabel. Apabila kolom terlalu banyak untuk dituliskan satu per satu, maka kita bisa menuliskan query di atas menjadi seperti ini:
Di mana ‘*’ merupakan sebuah wildcard yang berarti mengambil semua kolom. Klausa FROM digunakan untuk menentukan nama tabel yang ingin kita ambil datanya. Sebagai contoh, kita akan mencoba untuk mengambil data order_id, customer_id, dan customer_name dari tabel orders. Penulisan query untuk mengambil data tersebut adalah sebagai berikut:
Dengan menjalankan query di atas, maka SQL akan menampilkan seluruh kolom yang kita pilih dari tabel bernama orders. Kita juga bisa menampilkan data sesuai dengan kriteria yang kita inginkan.
Misalkan kita ingin mengambil data penjualan di mana order_date atau tanggal penjualan setelah bulan Januari 2023, kita bisa menuliskan sebuah kondisi tambahan pada query di atas. Untuk penulisan kondisi ini kita menggunakan klausa WHERE. Perhatikan contoh penulisannya berikut ini:
Penulisan klausa WHERE selalu dituliskan setelah klausa FROM. Cara membaca query di atas adalah kita akan memilih kolom order_id, customer_id, dan customer_name dari tabel orders di mana data pada kolom order_date nilainya lebih besar dari ‘2023-01-01’ atau lebih besar dari tanggal 01 Januari 2023.
Pada query di atas, walaupun kita menyertakan kolom order_date, namun kita tidak perlu menampilkan kolom order_date tersebut pada klausa SELECT, kecuali dibutuhkan.
Like
Dalam pengelolaan database, operator SQL LIKE berdiri sebagai tool yang esensial dan serbaguna.
SQL LIKE adalah alat untuk mencari data yang cocok dengan pola tertentu. Operator ini hanya dapat diaplikasikan pada tipe data teks saja, seperti string, char, dan varchar.
Di artikel ini, kita akan menggali lebih dalam tentang bagaimana LIKE membedakan dirinya dari operator pencarian lain, memberikan fleksibilitas dalam menemukan kecocokan data. Dari konsep dasar, penggunaan wildcard, sampai berbagai skenario praktis di mana LIKE menjadi pilihan utama, semua akan dibahas secara mendetail.
Sintaks SQL LIKE operator
Sintaks dasar dari operator LIKE dalam SQL adalah sebagai berikut:
Elemen penting dalam sintaks ini adalah pola, yang bisa kamu tentukan menggunakan wildcard. Wildcard adalah karakter khusus yang dipakai dalam operator LIKE untuk menciptakan pola pencarian fleksibel.
Ada dua jenis wildcard utama dalam SQL:
Kombinasi dari kedua wildcard memungkinkan pencarian yang lebih fleksibel. Misalnya, LIKE 'A%o' akan mencari entri yang dimulai dengan "A" dan diakhiri dengan "o", dengan jumlah karakter apa pun di antaranya.
Where
Dalam contoh di atas, WHERE digunakan untuk memilih hanya baris dari tabel karyawan di mana nilai kolom usia lebih dari 30.
WHERE bisa digunakan dengan berbagai operator dan klausa lain seperti AND, OR, LIKE, BETWEEN, IN, dan sebagainya untuk membuat kondisi yang lebih kompleks.
AND & OR
AND: Operator AND digunakan untuk menggabungkan dua atau lebih kondisi, dan hasil query hanya akan mengembalikan baris data yang memenuhi semua kondisi yang dihubungkan dengan operator AND.
Menggunakan Operator AND
Misalnya, kita memiliki tabel "pengguna" dengan kolom "usia" dan "jenis_kelamin," dan kita ingin mengambil pengguna yang berusia di atas 30 tahun dan jenis kelaminnya adalah "Laki-Laki":
SELECT * FROM pengguna WHERE usia > 30 AND jenis_kelamin = 'Laki-Laki';
Perintah di atas hanya akan mengambil pengguna yang berusia di atas 30 tahun dan memiliki jenis kelamin "Laki-Laki."
OR (||): Operator OR digunakan untuk menggabungkan dua atau lebih kondisi, dan hasil query akan mengembalikan baris data yang memenuhi salah satu atau lebih dari kondisi yang dihubungkan dengan operator OR.
Menggunakan Operator OR
Kita ingin mengambil pengguna yang berusia di atas 40 tahun atau memiliki jenis kelamin "Perempuan":
SELECT * FROM pengguna WHERE usia > 40 OR jenis_kelamin = 'Perempuan';
Perintah di atas akan mengambil pengguna yang berusia di atas 40 tahun atau memiliki jenis kelamin "Perempuan."
Between
Sering kali seorang data analyst mendapatkan permintaan untuk dapat memfilter data berdasarkan data-data tertentu. Filter tersebut dapat berupa kategori ataupun angka dengan jangka tertentu. Kalau untuk kategori, bisa filter dengan mudah.
Bagaimana cara filter angka dengan jangka tertentu? Pertanyaan ini akan terjawab di artikel ini.
Apa itu BETWEEN dalam SQL?
BETWEEN merupakan sebuah operator dalam SQL yang digunakan sebagai filter dalam sebuah script query. BETWEEN dituliskan setelah command WHERE dan dapat digunakan untuk memfilter dengan output berupa data dalam range.
BETWEEN dapat digunakan untuk data dengan tipe angka (float, integer), text, dan datetime. Apabila menggunakan BETWEEN, maka data yang akan ditampilkan akan disesuaikan dengan filter range tersebut.
Contoh penggunaan ini adalah ketika seorang data analyst di sebuah bank ingin mencari nasabah dengan rentang usia antara 20 sampai 35 tahun. Maka dalam query-nya, ia akan menambahkan WHERE USIA BETWEEN 20 and 25.
Ataupun contoh lainnya adalah data analyst tersebut ingin mencari nasabah dengan limit kartu kredit dalam range Rp10.000.000 sampai Rp15.000.000, maka dalam query yang ia tulis akan menambahkan filter limit kartu kredit dengan range yang diinginkan (WHERE limit BETWEEN 10.000.000 AND 15.000.000).
Untuk penggunaannya dalam SQL dapat dilihat pada gambar di bawah ini.
Nilai 1 merupakan nilai yang terkecil dan nilai 2 merupakan nilai terbesar dari jangkauan yang ingin kita gunakan sebagai filter. Penulisan nilai 1 dan 2 masih sama seperti penulisan filter lainnya, di mana untuk datetime dan text menggunakan tanda petik pada awal dan akhir.
Average sum count
Pada SQL, kita tidak hanya dapat membuat tabel yang berisi value asli dari tabelnya. Di SQL, kita dapat juga membuat perhitungan/kalkulasi yang bersumber dari beberapa value dan menghasilkan sebuah value baru.
Dalam artikel ini, kita akan membahas fungsi agregat yakni SQL SUM, COUNT, dan AVG.
Apa Itu Fungsi Agregasi?
Fungsi agregasi pada SQL adalah sebuah fungsi yang akan menghasilkan sebuah value baru dari hasil perhitungan beberapa kolom pada sebuah query. Terdapat beberapa jenis fungsi agregasi SQL yang dapat kita gunakan, di antaranya:
Dalam menggunakan fungsi agregasi ini, biasanya diikuti oleh klausa GROUP BY ataupun HAVING. Penambahan GROUP BY biasanya digunakan apabila ada kolom lain yang ikut dipanggil dalam query kita.
Contohnya, kita ingin hasil agregasi perhitungan penjualan barang A dikelompokkan berdasarkan lokasi pembelian. Maka kita menambahkan klausa GROUP BY di akhir query. Sedangkan klausa HAVING digunakan pada saat kita akan menambahkan filter dari value yang kita inginkan. Filter HAVING ini digunakan untuk value yang merupakan hasil agregasi.
Sebagai contoh, seorang data analyst ingin mengetahui pendapatan perusahaan ABC selama 5 bulan dan dikelompokkan berdasarkan jenis produk yang perusahaannya jual. Maka pada query-nya, dia akan menggunakan fungsi SUM kolom pendapatan dan diikuti dengan GROUP BY berdasarkan produknya pada akhir query-nya.
Berikutnya contoh fungsi agregasi dan filter HAVING. Katakanlah seorang analis data di perusahaan yang sama ingin mengetahui pelanggan yang membeli produk dari perusahaannya dengan nominal lebih dari Rp 5.000.000, maka ia dapat menambahkan filter HAVING pada akhir query-nya dengan menuliskan:
HAVING SUM(Belanja) > 5000000
Nilai yang digunakan pada HAVING dapat berupa lebih besar (>), lebih kecil (<) ataupun sama (=) dari value yang terdapat pada kolom.
Fungsi COUNT
Fungsi agregasi COUNT adalah fungsi yang akan menghitung jumlah value dari sebuah kolom dari sebuah tabel. Fungsi COUNT ini dapat juga digabungkan dengan DISTINCT untuk menampilkan value yang unik dari sebuah kolom sehingga apabila ada value yang sama dari kolom tersebut tidak akan dihitung. Fungsi COUNT dapat digunakan untuk kolom dengan tipe data string ataupun numerik. Adapun untuk syntax-nya adalah seperti berikut.
Untuk contoh hasil query COUNT dan COUNT DISTINCT bisa dilihat pada gambar berikut.
Dapat dilihat perbedaan hasil dari query di atas. Untuk query yang hanya menggunakan COUNT saja akan mendapatkan hasil yang lebih banyak karena semua value dari kolom tersebut akan dihitung. Sedangkan untuk hasil COUNT DISTINCT menghasilkan nilai yang lebih kecil karena hanya menghitung value yang unik dan tidak duplikat.

Komentar
Posting Komentar