SQL Sederhana: Membuat Kueri Modular dan Mudah Dipahami dengan CTE - KDnuggets

SQL Sederhana: Membuat Kueri Modular dan Dapat Dipahami dengan CTE – KDnuggets

Node Sumber: 3084928

SQL Sederhana: Membuat Kueri Modular dan Dapat Dipahami dengan CTE
Gambar oleh Penulis 
 

Dalam dunia data, SQL masih menjadi lingua franca untuk berinteraksi dengan database. 

Hingga saat ini, bahasa ini masih menjadi salah satu bahasa yang paling banyak digunakan untuk menangani data dan masih dianggap sebagai bahasa yang wajib dimiliki oleh setiap profesional data yang baik. 

Namun, siapa pun yang pernah bekerja dengan kueri SQL yang kompleks tahu bahwa kueri tersebut dapat dengan cepat berubah menjadi monster yang berat—sulit untuk dibaca, dipelihara, atau digunakan kembali. 

Inilah sebabnya mengapa saat ini mengetahui SQL saja tidak cukup, kita harus pandai menyusun kueri. Dan ini sebenarnya adalah salah satu jenis seni. 

Di sinilah Common Table Expressions (CTEs) berperan, mengubah seni penulisan kueri menjadi karya yang lebih terstruktur dan mudah didekati.

Jadi, mari kita temukan bersama cara membuat kode kueri yang dapat dibaca dan digunakan kembali.

Jika Anda bertanya-tanya apa itu CTE, Anda berada di artikel yang tepat. 

Common Table Expression (CTE) adalah kumpulan hasil sementara yang ditentukan dalam cakupan eksekusi pernyataan SQL tunggal. 

 

Ini adalah tabel temporal yang dapat direferensikan berkali-kali dalam satu kueri dan biasanya digunakan untuk menyederhanakan gabungan dan subkueri yang kompleks, dengan tujuan akhir meningkatkan keterbacaan dan pengorganisasian kode SQL.

Jadi mereka adalah alat yang ampuh untuk memecah pertanyaan kompleks menjadi bagian-bagian yang lebih sederhana.

Inilah mengapa Anda harus mempertimbangkan untuk menggunakan CTE:

  • Modularitas: Anda dapat memecah logika kompleks menjadi beberapa bagian yang dapat dibaca.
  • dibaca: Itu membuat pemahaman aliran kueri SQL lebih mudah.
  • Dapat digunakan kembali: CTE dapat direferensikan beberapa kali dalam satu kueri, menghindari pengulangan.

Keajaiban dimulai dengan klausa WITH, yang mendahului kueri utama Anda dan mendefinisikan tabel temporal (CTE) yang berbeda dengan alias.

Oleh karena itu, kita selalu perlu memulai kueri kita dengan perintah “DENGAN” untuk mulai mendefinisikan CTE sendiri. Dengan menggunakan CTE, kita dapat memecah kueri SQL kompleks apa pun menjadi: 

– Tabel temporal kecil yang menghitung variabel terkait. 

– Tabel final yang hanya mengambil variabel yang kita inginkan sebagai output.

Dan inilah pendekatan MODULAR yang kita inginkan dalam kode apa pun!

 

SQL Sederhana: Membuat Kueri Modular dan Dapat Dipahami dengan CTE
Gambar oleh Penulis
 

Jadi menggunakan CTE dalam kueri memungkinkan kami untuk:

– Jalankan tabel temporal SEKALI dan referensikan BEBERAPA kali.

– Meningkatkan keterbacaan dan menyederhanakan logika kompleks.

– Mempromosikan penggunaan kembali kode dan desain modular.

Untuk memahami hal ini dengan lebih baik, kita dapat mengambil contoh praktis listing Airbnb di Barcelona. 

Bayangkan kita ingin menganalisis kinerja listingan berdasarkan lingkungan dan membandingkannya dengan kinerja kota secara keseluruhan. Anda perlu mengumpulkan informasi tentang lingkungan sekitar, apartemen individu, tuan rumah, dan harga.

Sebagai contoh, kita akan menggunakan Di dalamAirbnb tabel Barcelona, ​​yang terlihat seperti berikut: 

 

SQL Sederhana: Membuat Kueri Modular dan Dapat Dipahami dengan CTE
 

Pendekatan yang naif mungkin mengarahkan Anda untuk membuat subkueri bersarang yang dengan cepat menjadi mimpi buruk pemeliharaan seperti berikut:

Kode oleh Penulis

Sebagai gantinya, kita dapat menggunakan CTE untuk mengelompokkan kueri kita menjadi beberapa bagian logis—masing-masing menentukan bagian dari teka-teki.

  • Data Lingkungan: Buat CTE untuk meringkas data berdasarkan lingkungan.
  • Informasi Apartemen dan Tuan Rumah: Tentukan CTE untuk detail tentang apartemen dan tuan rumah.
  • Metrik Seluruh Kota: CTE lain yang mengumpulkan statistik tingkat kota untuk perbandingan.
  • Majelis Akhir: Gabungkan CTE dalam pernyataan SELECT akhir untuk menyajikan data secara kohesif.

 

SQL Sederhana: Membuat Kueri Modular dan Dapat Dipahami dengan CTE
Gambar oleh Penulis
 

Dan kita akan mendapatkan pertanyaan berikut:

Kode oleh Penulis

Dengan menggunakan CTE, kami mengubah satu kueri yang berpotensi mengerikan menjadi kumpulan modul data yang terorganisir. Pendekatan modular ini membuat kode SQL lebih intuitif dan mudah beradaptasi terhadap perubahan. 

Jika persyaratan baru muncul, Anda dapat menyesuaikan atau menambahkan CTE tanpa merombak keseluruhan kueri.

Setelah Anda menetapkan CTE, Anda dapat menggunakannya kembali untuk melakukan analisis komparatif. Misalnya, jika Anda ingin membandingkan data lingkungan dengan metrik seluruh kota, Anda dapat mereferensikan CTE Anda dalam serangkaian operasi GABUNG. 

Ini tidak hanya menghemat waktu tetapi juga menjaga kode Anda tetap efisien, karena Anda tidak perlu mengulangi kueri yang sama dua kali!

CTE adalah bukti prinsip bahwa struktur kecil akan berpengaruh besar dalam pemrograman. Dengan mengadopsi CTE, Anda dapat menulis kueri SQL yang lebih jelas, lebih mudah dipelihara, dan dapat digunakan kembali. 

Ini menyederhanakan proses pengembangan kueri dan mempermudah komunikasi logika pengambilan data yang kompleks kepada orang lain.

Ingat, lain kali Anda akan mulai menulis monster subkueri bersarang multi-gabung, pertimbangkan untuk memecahnya dengan CTE. 

Diri Anda di masa depan—dan siapa pun yang mungkin membaca kode Anda—akan berterima kasih.
 
 

Josep Ferrer adalah seorang insinyur analitik dari Barcelona. Dia lulus dalam bidang teknik fisika dan saat ini bekerja di bidang Ilmu Data yang diterapkan pada mobilitas manusia. Dia adalah pembuat konten paruh waktu yang berfokus pada ilmu dan teknologi data. Anda dapat menghubunginya di LinkedIn, Twitter or Medium.

Stempel Waktu:

Lebih dari KDnugget