Biçimlendirilmiş SQL burada görünür — tek tıkla yeniden girintileyin, hizalayın ve kopyalayın.
SQL formatter nedir?
SQL formatter; tek satıra sıkıştırılmış, otomatik üretilmiş veya karman çorman SQL'i alıp tutarlı girinti ve satır sonlarıyla yeniden yazar. Geliştiriciler ve veri analistleri bunu join'leri gözden geçirirken, filtre hatalarını ayıklarken, ORM'in ürettiği sorguları temizlerken, ticket veya dokümana sorgu eklerken ve sorgu planlarını incelerken kullanır.
Biçimlendirme, sorgunun *ne yaptığını* değiştirmez — sadece insan gözüyle ne kadar kolay okunduğunu değiştirir. Görsel düzen oturduğunda SELECT, FROM, JOIN, WHERE, GROUP BY, HAVING ve ORDER BY arasındaki ilişki çok daha rahat görülür; özellikle alt sorgular ve CTE'ler iç içe geçtiğinde.
SQL'in birçok *dialekti* vardır: PostgreSQL, MySQL, SQLite, T-SQL (Microsoft SQL Server), Oracle ve BigQuery; her biri standardı kendi söz dizimiyle genişletir. İyi bir formatter seçtiğiniz dialekti tanır ve sağlayıcıya özel söz dizimini bozmaz.
SQL biçimlendirirken neler öğreneceksiniz
SQL cümleciklerinin belirli görevleri vardır: SELECT kolonları seçer, FROM tabloları belirler, WHERE satırları filtreler, GROUP BY toplulaştırır ve ORDER BY sıralar.
Düzgün girinti; tek satır halindeki bir sorguda gözden kaçan iç içe sorguları, join'leri ve koşulları gün yüzüne çıkarır.
Dialekt önemlidir — RETURNING, LIMIT, TOP ve köşeli parantezli tanımlayıcılar ([col] ile "col" farkı) veritabanları arasında taşınabilir değildir.
Bir SQL sorgusunu adım adım nasıl biçimlendirirsiniz
1
Sorguyu yapıştırın
SQL'inizi giriş kutusuna bırakın. Tek satırlık, ORM'in ürettiği veya yarı biçimlenmiş SQL — hepsi çalışır.
2
Dialekti seçin
PostgreSQL, MySQL, SQLite veya T-SQL'i seçin ki formatter LIMIT, TOP veya RETURNING gibi sağlayıcıya özel anahtar kelimelere uygun davransın.
3
Stili yapılandırın
Anahtar kelime büyük/küçük harf tercihinizi (büyük harf standarttır) ve girinti genişliğini (2 ya da 4 boşluk) seçin. Çoğu ekip büyük harf anahtar kelime + 2 boşluk girinti kullanır.
4
Biçimlendirilmiş çıktıyı okuyun
Her cümlecik kendi satırına yerleşir, join'ler hizalanır, alt sorgular girintilenir. Yorumlar korunur.
5
Projenize geri kopyalayın
Biçimlenmiş sorguyu migration dosyanıza, ORM raw query'nize ya da BI aracına yapıştırın. Her şey tarayıcınızda kalır.
SQL cümlecikleri hızlı referans
SELECT sorgularının %95'inde göreceğiniz cümlecikler — kavramsal olarak işlendikleri sırayla. Sağlayıcı dökümanları: PostgreSQL SELECT, MySQL SELECT.
Cümlecik
Görevi
Örnek
SELECT
Hangi kolonların / ifadelerin döneceğini belirler
SELECT id, name
FROM
Kaynak tablo(lar)ı seçer
FROM users
JOIN ... ON
Başka bir tablodan satırları birleştirir
JOIN orders ON orders.user_id = users.id
WHERE
Gruplamadan önce satırları filtreler
WHERE active = true
GROUP BY
Aynı değerleri paylaşan satırları toplulaştırır
GROUP BY country
HAVING
Toplulaştırılmış grupları filtreler
HAVING COUNT(*) > 10
ORDER BY
Sonuç kümesini sıralar
ORDER BY created_at DESC
LIMIT / OFFSET
Sonucu sayfalar
LIMIT 20 OFFSET 40
WITH ... AS
Common Table Expression (CTE) — alt sorguya isim verir
WITH active AS (...)
Deneyebileceğiniz SQL örnekleri
Basit bir sorguyu biçimlendirme
Girdi
select id,name from users where active=trueorderby created_at desclimit10
Biçimlenmiş
SELECT id, nameFROM usersWHERE active =trueORDERBY created_at DESCLIMIT10;
Her cümlecik artık kendi satırında, kolon listesi de girintilenmiş. Bu sorguyu code review'da incelemek 10 kat daha kolay.
Join'i incele
Girdi
select u.name,o.total from users u join orders o on o.user_id=u.id where o.total>100
Biçimlenmiş
SELECT u.name, o.totalFROM users uJOIN orders o ON o.user_id = u.idWHERE o.total >100;
Tablolara takma ad vermek (users u, orders o) kolon listesini kısa tutar. JOIN ... ON satırı tablolar arasındaki ilişkiyi açıkça ortaya koyar.
İç içe alt sorguyu okuma
Girdi
select*from users where id in(select user_id from enrollments where course_id=5)
Biçimlenmiş
SELECT*FROM usersWHERE id IN(SELECT user_idFROM enrollmentsWHERE course_id =5);
İçteki sorguyu girintilemek bağımlılığı net biçimde gösterir. Yapı görünür hale geldikten sonra birçok alt sorgu JOIN'e veya CTE'ye dönüştürülebilir.
Sık yapılan SQL biçimlendirme hataları
Biçimlenmiş SQL'in *doğru* SQL olduğunu varsaymak. Biçimlendirme sadece görünümü değiştirir, anlamı değil — pırıl pırıl görünen bir sorgu da yanlış sonuç döndürebilir.
Biçimlendirirken sorguyu düzenleyip sonucu yeniden test etmeyi unutmak.
Dialekti göz ardı etmek — PostgreSQL'de LIMIT 10, T-SQL'de TOP 10 ve standart SQL'de FETCH FIRST 10 ROWS ONLY aynı işi yapar ama söz dizimleri farklıdır.
Hayır. Biçimlendirme yalnızca boşluk ve büyük/küçük harf düzenini değiştirir. Veritabanı her iki sürümü de aynı sorgu planına çevirir, dolayısıyla dönen satırlar birebir aynıdır.
SQL neden biçimlendirilir?
Okunaklı SQL'in hatalarını ayıklamak, code review'dan geçirmek, başkalarına anlatmak ve uzun vadede bakımını yapmak çok daha kolaydır — özellikle birden fazla join, alt sorgu, CTE veya pencere fonksiyonu içeren sorgularda.
SQL dialekti nedir?
SQL dialekti, standart SQL'in veritabanına özgü uzantısıdır. PostgreSQL, MySQL, SQLite, T-SQL (SQL Server), Oracle ve BigQuery'nin her biri SQL standardının ötesinde kendine özgü söz dizimine sahiptir.
SQL formatter bozuk sorguları düzeltir mi?
Bir formatter, sorguyu yapılandırılmış biçimde yeniden yazarak söz dizimi sorunlarını görünür kılabilir; ama şemanızı anlayamaz ve sorgunun mantıksal olarak doğru olduğunu garanti edemez.
SQL anahtar kelimelerini büyük harfle mi yazmalıyım?
Çoğu stil rehberi anahtar kelimelerin büyük (SELECT, FROM, WHERE), tanımlayıcıların ise küçük harfle yazılmasını önerir; çünkü bu görsel kontrast sorgunun yapısını öne çıkarır. Bir stil seçip ona sadık kalın.