Kemarin saya baru saja salah satu cara di SQL yang memudahkan banget untuk menyederhanakan query kompleks. Namanya adalah Common Table Expression atau biasa disebut dengan CTE.
CTE (Common Table Expressions) adalah fitur dalam SQL yang memungkinkan kita untuk mendefinisikan tabel sementara yang dapat digunakan dalam kueri yang lebih besar. CTE digunakan untuk membuat kueri lebih mudah dibaca dan dipelihara, serta untuk menghindari penulisan ulang subkueri yang kompleks.
Syntax CTE adalah sebagai berikut
WITH cte_name AS (
SELECT column1, column2
FROM table_name
WHERE condition
)
SELECT column1, column2
FROM cte_name
WHERE another_condition;
keyword yang digunakan adalah dengan menggunakan WITH, diikuti dengan nama CTE nya, lalu diikuti oleh AS. Selanjutnya, CTE tersebut dapat kita panggil di query lainnya. Bahkan bisa juga dipangging berkali-kali.
Contohnya
Misalkan kita memiliki tabel employees
dan Anda ingin menghitung jumlah karyawan di setiap departemen. Anda dapat menggunakan CTE untuk membuat kueri ini lebih sederhana:
WITH DepartmentCount AS (
SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department
)
SELECT department, employee_count
FROM DepartmentCount
WHERE employee_count > 10;
Dalam contoh ini, DepartmentCount
adalah CTE yang menghitung jumlah karyawan di setiap departemen. Hasil dari CTE ini kemudian digunakan dalam kueri utama untuk memilih departemen yang memiliki lebih dari 10 karyawan.
Oke mungkin itu adalah sekilas mengenai Common Table Expression. Kalo kamu punya pertanyaan, boleh banget untuk komentar di bawah. Terima kasih~