2026-07-12

SQL Sorgularını Düzenleme: Daha Okunabilir Veritabanı Kodları

Büyük ve karmaşık SQL sorgularını düzenlemenin, doğru girintileme yapmanın ve okunabilir SQL yazarak ekip içi iş birliğini artırmanın yollarını öğrenin.

sqlveritabanitemiz-kodsql-formatter

Yazılım projelerinde veri tabanı işlemleri (veritabanı sorguları) işin merkezinde yer alır. Küçük projelerde basit SELECT * FROM users sorgusuyla başlayan süreç, proje büyüdükçe yüzlerce satırlık, çoklu JOIN ve SUBQUERY barındıran devasa yapılara dönüşür.

Karmaşıklaşan SQL sorgularını gelişi güzel yazmak; hata ayıklamayı (debugging), performans optimizasyonunu ve ekip içi kod incelemelerini (code review) adeta bir kabusa çevirebilir. Bu rehberde, temiz ve okunabilir SQL yazmanın temel kurallarını ele alacağız.

Okunabilir SQL Yazmanın Altın Kuralları

Temiz SQL yazmak için endüstri standardı haline gelmiş birkaç temel kural vardır:

1. Anahtar Kelimeleri Büyük Harfle Yazın

SQL motoru için fark etmese de, insanlar için sorguyu tararken anahtar kelimeleri ayırt etmek önemlidir. SELECT, FROM, WHERE, JOIN, GROUP BY, ORDER BY gibi SQL komutlarını her zaman büyük harfle yazın. Tablo ve sütun isimlerini ise küçük harfle bırakın.

Kötü: select name, email from users where status = 'active'

İyi: SELECT name, email FROM users WHERE status = 'active'

2. Girintileme (Indentation) ve Satır Satır Bölme Kullanın

Tüm sorguyu tek bir satıra yazmaktan kaçının. Her anahtar kelimeyi yeni bir satıra yerleştirin ve sütun isimlerini hizalayın. Birden fazla koşulu içeren WHERE bloklarında, her koşulu yeni bir satırda AND veya OR ile girintileyerek yazın.

Kötü: SELECT id, name, created_at FROM orders WHERE status = 'pending' AND total_price > 100 ORDER BY created_at DESC;

İyi:

SELECT 
  id, 
  name, 
  created_at 
FROM 
  orders 
WHERE 
  status = 'pending' 
  AND total_price > 100 
ORDER BY 
  created_at DESC;

3. JOIN ve ON Koşullarını Hizalayın

İlişkisel veritabanlarında tabloları birleştirirken, hangi tablonun hangi alan üzerinden bağlandığını netleştirmek gerekir. JOIN ifadesini ana sorgu seviyesinde, ON koşulunu ise bir sekme içeriden yazmak okunabilirliği ciddi oranda artırır.

SELECT 
  u.name, 
  o.order_date, 
  o.total_amount 
FROM 
  users u 
  INNER JOIN orders o ON u.id = o.user_id 
WHERE 
  o.status = 'shipped';

SQL Sorgu Formatlayıcı ile Zaman Kazanın

Projelerinizdeki dağınık sorguları tek tek elle düzenlemek, özellikle yüzlerce satırlık sorgularda büyük zaman kaybıdır.

Sitemizde bulunan SQL Sorgu Formatlayıcı aracını kullanarak, dağınık veya sıkıştırılmış (minified) SQL sorgularınızı yapıştırabilir, tek bir tıkla tüm SQL anahtar kelimelerini büyük harfe dönüştürüp kodunuzu standart kurallara uygun şekilde girintili ve temiz bir görünüme kavuşturabilirsiniz. Aracımız doğrudan tarayıcınızda çalışır ve veritabanı şemanıza dair hiçbir bilginin dışarıya sızmasına izin vermez.