Menu

SQL Formatter

Rapikan query SQL dengan indentasi yang memahami sintaks.

Oleh Nethanel Bar, Co-founder & CEO

Terakhir diperbarui

Siap benar-benar belajar coding?

Coddy mengajarimu dengan menulis kode sungguhan di browser: pelajaran interaktif, umpan balik instan, dan bantuan AI saat kamu buntu.

Apa itu SQL formatter?

SQL formatter mengambil SQL yang padat, satu baris, atau dibuat otomatis, lalu menuliskannya ulang dengan indentasi dan baris baru yang konsisten. Developer dan analis memakainya saat meninjau join, debug filter, merapikan output ORM, membagikan query di tiket atau dokumentasi, dan menelusuri query plan.

Merapikan format tidak mengubah apa yang *dilakukan* query, hanya seberapa mudah manusia membacanya. Begitu tata letaknya konsisten, hubungan antara SELECT, FROM, JOIN, WHERE, GROUP BY, HAVING, dan ORDER BY jauh lebih mudah diperiksa, terutama pada query yang mencampur subquery dan CTE.

SQL punya banyak *dialek*. PostgreSQL, MySQL, SQLite, T-SQL (Microsoft SQL Server), Oracle, dan BigQuery semuanya memperluas standar dengan sintaks mereka sendiri. Formatter yang baik memahami dialek yang kamu pilih supaya tidak merusak sintaks khusus vendor.

Yang kamu pelajari saat merapikan SQL

  • Setiap klausa SQL punya peran tertentu: SELECT memilih kolom, FROM memilih tabel, WHERE menyaring baris, GROUP BY mengagregasi, dan ORDER BY mengurutkan.
  • Indentasi yang mudah dibaca memperlihatkan query bersarang, join, dan kondisi yang tidak terlihat dalam query satu baris.
  • Dialek itu penting: RETURNING, LIMIT, TOP, dan identifier berkurung ([col] vs "col") tidak bisa dipindahkan begitu saja antardatabase.
  • Formatter yang ditulis dengan baik mempertahankan komentar, jadi kamu bisa menjelaskan *kenapa* sebuah filter ada tepat di sebelahnya.

Cara merapikan query SQL langkah demi langkah

  1. Tempel query-nya

    Taruh SQL kamu di kotak input. SQL satu baris, buatan ORM, atau yang sudah setengah rapi semuanya bisa.

  2. Pilih dialeknya

    Pilih PostgreSQL, MySQL, SQLite, atau T-SQL supaya formatter menghormati kata kunci khusus vendor seperti LIMIT, TOP, atau RETURNING.

  3. Atur gayanya

    Pilih penulisan kata kunci (huruf besar adalah standarnya) dan lebar indentasi (2 atau 4 spasi). Kebanyakan tim memilih kata kunci huruf besar + indentasi 2 spasi.

  4. Baca output yang sudah rapi

    Setiap klausa berada di barisnya sendiri, join disejajarkan, dan subquery diberi indentasi. Komentar tetap dipertahankan.

  5. Salin kembali ke proyekmu

    Tempel query yang sudah rapi ke migration, raw query ORM, atau tool BI kamu. Semuanya tetap di browser kamu.

Referensi cepat klausa SQL

Klausa yang akan kamu temui di 95% query SELECT, sesuai urutan pemrosesannya secara konseptual. Referensi vendor: PostgreSQL SELECT, MySQL SELECT.

KlausaFungsiContoh
SELECTMemilih kolom/ekspresi yang dikembalikanSELECT id, name
FROMMemilih tabel sumberFROM users
JOIN ... ONMenggabungkan baris dari tabel lainJOIN orders ON orders.user_id = users.id
WHEREMenyaring baris sebelum dikelompokkanWHERE active = true
GROUP BYMengagregasi baris yang punya nilai samaGROUP BY country
HAVINGMenyaring grup hasil agregasiHAVING COUNT(*) > 10
ORDER BYMengurutkan hasilORDER BY created_at DESC
LIMIT / OFFSETMembagi hasil per halamanLIMIT 20 OFFSET 40
WITH ... ASCommon Table Expression (CTE): memberi nama pada subqueryWITH active AS (...)

Contoh SQL untuk dicoba

Merapikan query sederhana

Input
select id,name from users where active=true order by created_at desc limit 10
Sudah rapi
SELECT  id,  nameFROM usersWHERE active = trueORDER BY created_at DESCLIMIT 10;

Setiap klausa kini berada di barisnya sendiri dan daftar kolomnya diberi indentasi. Meninjau query ini saat code review jadi 10× lebih mudah.

Memeriksa sebuah join

Input
select u.name,o.total from users u join orders o on o.user_id=u.id where o.total>100
Sudah rapi
SELECT  u.name,  o.totalFROM users uJOIN orders o ON o.user_id = u.idWHERE o.total > 100;

Memberi alias pada tabel (users u, orders o) membuat daftar kolom tetap pendek. Baris JOIN ... ON membuat hubungan antartabel terlihat jelas.

Membaca subquery bersarang

Input
select * from users where id in (select user_id from enrollments where course_id=5)
Sudah rapi
SELECT *FROM usersWHERE id IN (  SELECT user_id  FROM enrollments  WHERE course_id = 5);

Indentasi pada query di dalamnya menunjukkan ketergantungannya dengan jelas. Banyak subquery bisa ditulis ulang sebagai JOIN atau CTE begitu strukturnya terlihat.

Mempercantik output ORM yang dipadatkan

Input
SELECT "posts"."id", "posts"."title", "users"."name" FROM "posts" INNER JOIN "users" ON "users"."id" = "posts"."author_id" WHERE "posts"."published" = true AND "posts"."created_at" > '2026-01-01' ORDER BY "posts"."created_at" DESC LIMIT 25
Sudah dipercantik
SELECT  "posts"."id",  "posts"."title",  "users"."name"FROM "posts"INNER JOIN "users" ON "users"."id" = "posts"."author_id"WHERE "posts"."published" = true  AND "posts"."created_at" > '2026-01-01'ORDER BY "posts"."created_at" DESCLIMIT 25;

ORM seperti Prisma, Django, dan ActiveRecord mencatat SQL sebagai satu baris panjang. Beautifier memecahnya per klausa dan memberi indentasi pada kondisi WHERE yang berantai, jadi kamu benar-benar bisa membaca apa yang dilakukan query itu sebelum menempelkannya ke tiket.

Kesalahan umum saat merapikan SQL

  • Mengira SQL yang rapi pasti SQL yang *benar*. Merapikan hanya mengubah tata letak, bukan makna. Query yang terlihat bersih tetap bisa memberi jawaban yang salah.
  • Mengedit query sambil merapikannya, lalu lupa menguji ulang hasilnya.
  • Mengabaikan dialek: LIMIT 10 di PostgreSQL, TOP 10 di T-SQL, dan FETCH FIRST 10 ROWS ONLY di SQL standar semuanya melakukan hal yang sama.
  • Mencampur gaya penulisan kata kunci (Select, SELECT, select) dalam satu proyek. Pilih satu gaya dan konsisten, kebanyakan tim memakai kata kunci huruf besar.

FAQ SQL Formatter

Apakah merapikan SQL mengubah hasil query?

Tidak. Merapikan hanya mengubah spasi dan huruf besar kecil. Database mem-parse kedua versi menjadi query plan yang sama, jadi baris hasilnya identik.

Kenapa SQL perlu dirapikan?

SQL yang mudah dibaca lebih mudah di-debug, ditinjau saat code review, diajarkan, dan dirawat, terutama kalau query-nya punya banyak join, subquery, CTE, atau window function.

Apa itu dialek SQL?

Dialek SQL adalah perluasan SQL standar yang khusus untuk satu database. PostgreSQL, MySQL, SQLite, T-SQL (SQL Server), Oracle, dan BigQuery masing-masing punya sintaks unik di luar standar SQL.

Bisakah SQL formatter memperbaiki query yang rusak?

Formatter bisa memperlihatkan masalah sintaks dengan menuliskan ulang query dalam bentuk terstruktur, tapi tidak bisa memahami skema kamu atau menjamin query-nya benar secara logika.

Apakah kata kunci SQL sebaiknya ditulis huruf besar?
Sebagian besar panduan gaya menyarankan kata kunci huruf besar (SELECT, FROM, WHERE) dan identifier huruf kecil, karena kontras visualnya membuat struktur query langsung menonjol. Pilih satu gaya dan konsisten.
Apa bedanya SQL formatter dan SQL beautifier?

Keduanya adalah dua nama untuk hal yang sama. "Beautify" dan "format" sama-sama berarti menulis ulang query dengan indentasi, baris baru, dan penulisan kata kunci yang konsisten supaya lebih mudah dibaca. Entah kamu mencari SQL beautifier, SQL pretty printer, atau SQL formatter, alat ini bisa melakukannya: tempel query-nya, pilih dialeknya, lalu salin versi yang rapi.

Bagaimana cara merapikan query SQL online secara gratis?

Tempel query kamu ke kotak input, pilih dialeknya (PostgreSQL, MySQL, SQLite, atau T-SQL), dan formatter langsung merapikan indentasinya dengan setiap klausa di barisnya sendiri. Sepenuhnya gratis tanpa daftar, dan semuanya berjalan di browser kamu. SQL kamu tidak pernah diunggah, jadi aman untuk query internal atau produksi.

Pelajari lebih lanjut

Alat developer lainnya

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai