CTE (Common Table Expressions) dengan WITH

CTE (WITH nama_cte AS (...)) membuat tabel sementara yang terbaca rapi untuk menyederhanakan query subquery yang rumit.

👀 Contoh dulu

WITH TopUsers AS (
  SELECT user_id FROM orders GROUP BY user_id HAVING COUNT(*) > 10
)
SELECT * FROM users WHERE id IN (SELECT user_id FROM TopUsers);

Hasilnya: Tabel CTE dibentuk dengan benar dan memunculkan data user top spender.

💡 CTE sangat direkomendasikan dibanding subquery bertingkat-tingkat.

📝 Sekarang giliranmu

Deklarasikan CTE bernama HighSpenders yang isinya memilih user_id dari tabel orders.

Preview