930 x 180 AD PLACEMENT

Common Table Expression di SQL

750 x 100 AD PLACEMENT

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

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.

750 x 100 AD PLACEMENT

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.

Mengapa CTE?

  • Meningkatkan readibilitas
  • Kemudahan manajemen query
  • CTE dapat merefer ke CTE yang lain
  • CTE dapat merefer ke dirinya sendiri

Oke mungkin itu adalah sekilas mengenai Common Table Expression. Kalo kamu punya pertanyaan, boleh banget untuk komentar di bawah. Terima kasih~

750 x 100 AD PLACEMENT

750 x 100 AD PLACEMENT

Leave a Reply

Your email address will not be published. Required fields are marked *

You might also like
930 x 180 AD PLACEMENT