SQL Sorgularınızı Kolayca Düzenleyin
Karmaşık SQL sorgularını kolayca oluşturun ve düzenleyin. Yapay zeka destekli araçlarımızla veritabanı sorgularınızı profesyonel seviyeye taşıyın.
Daha fazla bilgi için SQL Sorgu Oluşturma sayfamızı ziyaret edin.
Temel Sorgu Örnekleri
1. Veri Seçme (SELECT)
SELECT
m.musteri_adi,
m.sehir,
COUNT(s.siparis_id) as siparis_sayisi,
SUM(s.tutar) as toplam_tutar
FROM musteriler m
LEFT JOIN siparisler s ON m.musteri_id = s.musteri_id
WHERE s.siparis_tarihi >= DATE_SUB(CURRENT_DATE, INTERVAL 1 MONTH)
GROUP BY m.musteri_adi, m.sehir
HAVING siparis_sayisi > 0
ORDER BY toplam_tutar DESC
2. Veri Güncelleme (UPDATE)
UPDATE urunler u
JOIN stok_durumu s ON u.urun_id = s.urun_id
SET u.fiyat = u.fiyat * 1.10
WHERE s.stok_miktari < 100
AND u.son_guncelleme < DATE_SUB(CURRENT_DATE, INTERVAL 3 MONTH)
İleri Düzey Sorgular
1. Alt Sorgular (Subqueries)
SELECT
kategori_adi,
urun_adi,
satis_miktari,
(
SELECT AVG(satis_miktari)
FROM aylik_satislar
WHERE kategori_id = d.kategori_id
) as kategori_ortalamasi,
ROUND(
(satis_miktari / (
SELECT AVG(satis_miktari)
FROM aylik_satislar
WHERE kategori_id = d.kategori_id
) * 100),
2
) as performans_yuzdesi
FROM (
SELECT
k.kategori_id,
k.kategori_adi,
u.urun_adi,
SUM(s.miktar) as satis_miktari
FROM kategoriler k
JOIN urunler u ON k.kategori_id = u.kategori_id
JOIN satislar s ON u.urun_id = s.urun_id
GROUP BY k.kategori_id, k.kategori_adi, u.urun_adi
)
2. Pencere Fonksiyonları (Window Functions)
WITH aylik_satislar AS (
SELECT
DATE_FORMAT(satis_tarihi, '%Y-%m') as ay,
kategori_id,
SUM(miktar * birim_fiyat) as aylik_ciro
FROM satislar s
JOIN urunler u ON s.urun_id = u.urun_id
GROUP BY ay, kategori_id
)
SELECT
ay,
kategori_id,
aylik_ciro,
SUM(aylik_ciro) OVER (
PARTITION BY kategori_id
ORDER BY ay
ROWS BETWEEN 11 PRECEDING AND CURRENT ROW
) as yillik_toplam,
AVG(aylik_ciro) OVER (
PARTITION BY kategori_id
ORDER BY ay
ROWS BETWEEN 2 PRECEDING AND CURRENT ROW
) as uc_ay_ortalama
FROM
Daha fazla örnek için Etkili ve Hatasız SQL Sorguları başlıklı makalemizi inceleyin.
Optimizasyon Özellikleri
1. İndeks Önerileri
EXPLAIN FORMAT=JSON
SELECT
m.musteri_adi,
COUNT(s.siparis_id) as siparis_sayisi
FROM musteriler m
JOIN siparisler s ON m.musteri_id = s.musteri_id
WHERE s.siparis_tarihi >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
GROUP BY m.musteri_adi;
CREATE INDEX idx_siparis_tarihi ON siparisler(siparis_tarihi);
CREATE INDEX idx_musteri_siparis ON siparisler(musteri_id, siparis_tarihi)
2. Sorgu Performans İyileştirme
SELECT
DATE(s.siparis_tarihi) as tarih,
COUNT(*) as siparis_sayisi,
SUM(s.tutar) as toplam_tutar
FROM siparisler s
WHERE s.siparis_tarihi >= DATE_SUB(CURRENT_DATE, INTERVAL 1 MONTH)
GROUP BY tarih
HAVING siparis_sayisi > 10
ORDER BY tarih DESC
Sıkça Sorulan Sorular
S: Sorgu düzenleyici tüm veritabanlarıyla uyumlu mu? C: Evet, MySQL, PostgreSQL, SQL Server ve Oracle desteklenmektedir.
S: Otomatik optimizasyon özelliği var mı? C: Evet, yapay zeka sorguları otomatik olarak optimize eder.
S: Türkçe karakter desteği var mı? C: Evet, tam Türkçe dil ve karakter desteği mevcuttur.
Başlarken
Veritabanı bağlantınızı yapın
Sorgunuzu Türkçe olarak yazın
Optimize edilmiş SQL kodunu alın
Sonuçları analiz edin