Membahas seputar SQL apakah kalian sudah sering menggunakannya? Ya, SQL adalah bahasa pemrograman yang sangat kuat, dan digunakan oleh banyak stack teknologi pada umumnya. Sebagai seorang developer, SQL biasanya digunakan hanya untuk memasukkan dan mengambil data di database.
Bagi para data analyst, data scientist, dan data engineer, SQL memberikan akses langsung ke database dan bisa dilakukan pengolahan data tanpa harus memanggilnya satu persatu.
Kovid Rathee, seorang data engineer membocorkan beberapa fitur SQL yang sebenarnya sangat canggih namun masih jarang digunakan para pengembang. Berikut ini fitur-fitur SQL tersebut, yuk kita simak!
Daftar isi
1. Hierarchical Queries
Database relasional semacam Oracle telah menunjang penyimpanan serta sistem temu kembali informasi dalam wujud hierarki semenjak beberapa waktu lalu. Informasi hierarki terdapat dimana-mana, kategori dan sub-kategori berbagai produk, sampai kelas klasifikasi hewan dan tumbuhan.
Fitur pada SQL yang normal tidak akan efektif untuk kebutuhan ini sebab akan menciptakan banyak subquery. Pada MySQL 5.7 ke atas, terdapat suatu sesi variabel yang dapat digunakan untuk melaksanakan query hirarki ini. Pada MySQL 8 keatas serta pada database lain, dapat memakai CTE (common table expressions) ataupun tabel rekursif.
2. Recursive Common Table Expressions
Dikenal juga sebagai CTE, hal ini adalah konsep yang didukung dalam kebanyakan database relasional. Pada intinya, CTE adalah tampilan yang ditentukan berdasar kueri dalam cakupan kueri tersebut.
CTE bukan merupakan objek database, CTE ada sebagai bagian dari kueri. CTE juga mudah dibaca jika dilakukan dengan baik.
3. Window Function

Fungsi analitis yang paling sering digunakan adalah fungsi agregasi. Fungsi agregasi di SQL sering digunakan untuk keseluruhan dataset atau bagian dari konjungsi data set dengan klausa GROUP BY.
Window Function merupakan penambahan dari fungsi agregasi sehingga bila melakukan lebih dari fungsi yang biasa.
4. Procedural Language

Bahasa prosedural memberikan akses untuk konstruksi yang tersedia dalam bahasa pemrograman lengkap, secara native di dalam database itu sendiri.
Contohnya pada SQL versi prosedural, kita bisa menulis program terstruktur dengan fungsi dan prosedur. Ada juga tipe data dan struktur data yang bisa digunakan untuk membuat program berbasi objek.