◯ Ücretsiz: günde 5 kullanım • Sıfırlanma: 16h 13m
Geliştirme & Teknik

SQL Sorgu Oluşturucu

İhtiyacınızı sade İngilizce ile açıklayın ve PostgreSQL, MySQL, SQLite, SQL Server, BigQuery veya Snowflake için doğru, okunabilir bir SQL sorgusu alın — şemanıza saygı gösteren, her bölüm açıklamalı ve indeksler ve performans hakkında notlar içeren.

Daha Fazla Bilgi

The SQL Query Generator bir soruyu — '2025 yılı için ülke bazında aylık gelir, sadece üçten fazla siparişi olan müşteriler' — çalıştırdığınız veritabanı için bir sorguya dönüştürür: PostgreSQL, MySQL ve MariaDB, SQLite, SQL Server, BigQuery veya Snowflake. Tablolarınızı ve sütunlarınızı yapıştırın, sorgu tam olarak bu adları kullanır; şemayı boş bırakın, o zaman yaptığı varsayımları belirtir. Stil seçebilirsiniz (okunabilir CTE'ler, kompakt, ya da pencere fonksiyonlarıyla analitik). Kaç açıklama istediğinizi belirleyin; her yanıt sonuç şekli ve sorguyu hızlı kılacak indekslerle sona erer. İstediğiniz sürece yıkıcı ifadeler yazmaz.

0 / 4000
0 / 10000

✓ Ücretsiz — kayıt yok, kredi kartı yok.

Tüm kitleler

Ülke bazında aylık gelir, yalnızca aktif müşteriler

HAVING tarzı müşteri filtresi içeren bir finans raporu

Girdi ve çıktı önizlemesini gör

Girdi

Sorgu ne döndürmeli?
Monthly revenue per country for 2025, counting only customers who placed more than 3 orders in 2025. Sort by month, then revenue descending.
Tablolar ve sütunlar (isteğe bağlı)
orders(id, customer_id, total_cents integer, created_at timestamp) customers(id, country text, signup_at timestamp)
SQL lehçesi
PostgreSQL
Sorgu stili
Okunabilir (CTE'ler, her satırda bir koşul)
Açıklama
Kısa

Çıktı (alıntı)

```sql
WITH active_customers AS (
  SELECT o.customer_id
  FROM orders AS o
  WHERE o.created_at >= DATE '2025-01-01'
    AND o.created_at <  DATE '2026-01-01'
  GROUP BY o.customer_id
  HAVING COUNT(*) > 3
)
SELECT
  DATE_TRUNC('month', o.created_at)::date AS month,
  c.country,
  SUM(o.total_cents) / 100.0            AS revenue
FROM orders AS o
JOIN active_customers AS a ON a.customer_id = o.customer_id
JOIN customers        AS c ON c.id = o.customer_id
WHERE o.created_at >= DATE '2025-01-01'
  AND o.created_at <  DATE '2026-01-01'
GROUP BY 1, 2
ORDER BY month, revenue DESC;
```

**Şema verildiği gibi kullanıldı.**

CTE, 2025 yılında üçten fazla siparişi olan müşterileri bulur; ana sorgu yalnızca bu müşterilerin siparişlerini tutar, her siparişi ayına kırpar ve ay ve ülke bazında geliri toplar. Tarih aralığı yarı açık olduğundan 31 Aralık bir kez sayılır…
Geliştiriciler

Müşteri başına son sipariş

İlişkili alt sorguyu değiştiren bir pencere fonksiyonu sorgusu

Girdi ve çıktı önizlemesini gör

Girdi

Sorgu ne döndürmeli?
For every customer, their most recent order with its total and date.
Tablolar ve sütunlar (isteğe bağlı)
orders(id, customer_id, total_cents integer, created_at timestamp) customers(id, email text)
SQL lehçesi
MySQL / MariaDB
Sorgu stili
Analitik (gerektiğinde pencere fonksiyonları)
Açıklama
Detaylı (madde madde)

Çıktı (alıntı)

```sql
WITH ranked AS (
  SELECT
    o.customer_id,
    o.id          AS order_id,
    o.total_cents,
    o.created_at,
    ROW_NUMBER() OVER (PARTITION BY o.customer_id ORDER BY o.created_at DESC, o.id DESC) AS rn
  FROM orders AS o
)
SELECT c.id AS customer_id, c.email, r.order_id, r.total_cents / 100.0 AS total, r.created_at
FROM customers AS c
JOIN ranked AS r ON r.customer_id = c.id AND r.rn = 1
ORDER BY r.created_at DESC;
```

**Şema verildiği gibi kullanıldı.**

| İfade | Ne yaptığını |
|---|---|
| `ROW_NUMBER() OVER (PARTITION BY … ORDER BY created_at DESC, id DESC)` | her müşterinin siparişlerini en yeni önce sayar; id ikincil sıralama sonucu deterministik yapar |
| `JOIN ranked … AND r.rn = 1` | her müşteri için tam bir satır tutar |…

SQL Sorgu Oluşturucu sonuçlarınız burada görünecek

Yorum satırları içeren temiz kod blokları ve nelerin değiştiğine dair kısa bir açıklama bekleyin.

Nasıl Kullanılır SQL Sorgu Oluşturucu

  1. Soruyu, bir meslektaşınıza sorar gibi yazın: hangi satırlar, hangi filtreler, hangi gruplama, hangi sıralama.
  2. Tablolarınızı ve sütunlarınızı varsa yapıştırın — her satıra bir tablo ve sütunları köşeli parantez içinde. Sorgu gerçek adlarınızı kullanır ve düzenleme gerektirmez.
  3. Kullandığınız diyalekti seçin; tarih fonksiyonları, LIMIT ile TOP ve tırnaklama PostgreSQL, MySQL, SQLite, SQL Server, BigQuery ve Snowflake arasında farklılık gösterir.
  4. 'Detaylı' açıklamayı öğrenirken ya da başkasının isteğini incelerken seçin, 'Sadece sorgu'yu ise ne istediğinizi bildiğinizde seçin.

Kullanım Senaryoları

1

Veri ekibini beklemeden bir analistin iş sorusuna yanıt ver.

2

Rapor talebini, veri ambarının gerçek şemasına uygun bir sorguya dönüştür.

3

Yavaş bir sorguyu, ihtiyaç duyduğu indekslerle okunabilir bir CTE sürümüne yeniden yaz.

4

Geçiş sırasında bir sorguyu MySQL'den PostgreSQL veya BigQuery'ye çevir.

5

Bir UPDATE veya DELETE'in neyi etkileyeceğini önizleyen SELECT ifadesini çalıştırmadan önce tasarla.

En İyi Sonuçlar İçin İpuçları

  • Şemada sütun tiplerini ekleyin (created_at timestamp, total_cents integer) ve sorgu tarih ve para birimlerini doğru şekilde işler.
  • 'only' ve 'at least' ifadelerini açıkça söyleyin — '3'ten fazla siparişi olan müşteriler' HAVING koşuluna dönüşür, WHERE'a değil.
  • Bir gösterge paneli için, analitik stili isteyin: pencere fonksiyonları raporları yavaşlatan self-join'leri önler.
  • Performans bölümünü okuyun; tam tablo taramasını bir aramaya dönüştüren indeksi adlandırır.

Sıkça Sorulan Sorular

Hangi veritabanları destekleniyor?

PostgreSQL, MySQL ve MariaDB, SQLite, SQL Server (T-SQL), BigQuery ve Snowflake. Sorgu, o diyalektin kendi fonksiyonlarını ve sözdizimini kullanır — tarih kırpma, LIMIT ya da TOP, tırnaklama ve dize birleştirme farklılık gösterir ve çıktı, seçtiğiniz diyalekt için yazılır.

Şemamı yapıştırmam gerekiyor mu?

Hayır, ama yardımcı olur. Şema ile sorgu tam tablo ve sütun adlarınızı kullanır ve düzenleme gerektirmez. Şema yoksa araç, minimal bir olası şema varsayar ve açıklamanın üstünde tüm varsayımları listeler, böylece düzeltebilirsiniz.

DELETE veya UPDATE yazacak mı?

Yalnızca bir değişiklik istediğinizde. O zaman bile ifadeyi bir işlem içinde sarar ve önce etkilenen satırları önizleyen SELECT'i koyar, böylece onaylamadan önce kontrol edebilirsiniz.

Tarih ve para birimlerini nasıl işler?

Tarihler, diyalektin yerel kırpma ve karşılaştırma fonksiyonlarını kullanır, aralıklar yarı açık aralıklar olarak yazılır, böylece hiçbir gün iki kez sayılmaz. Para birimi, tam sayı cent olarak saklanır ve son bölmeye kadar tam sayı kalır; sonuç şekli her sütunun hangi birimde olduğunu belirtir.

Sorgunun hızlı olması garanti mi?

Önce doğru, sonra okunabilir olacak şekilde yazılmıştır ve her yanıt, sorguyu hızlı kılacak indekslerle ve indeks kullanımını engelleyecek yapılarla biter. Zamanlamadan önce gerçekçi bir veri hacmi üzerinde çalıştırın — sadece veritabanınız istatistiklerini bilir.

🔒
Gizliliğiniz Korunuyor

Girdinizi ve sonucu hizmeti yürütmek, kötüye kullanımı önlemek ve oturum açtıysanız geçmişinizi göstermek için en fazla 90 gün saklıyoruz. Bunlar Gizlilik Politikamızda listelenen yapay zekâ sağlayıcıları tarafından işlenir. Bunları satmıyoruz.

İlgili araçlar

Bu ajanı dene

Marka OluşturucuMarka isimleri oluşturun, bir slogan yaratın, marka hikayenizi yazın ve marka yönergelerini belirleyin.Bu ajanı dene →

İlgili iş akışı

Suudi ZATCA Phase 2 e-fatura hazırlığı (TRN -> çift dilli zarf -> QR-TLV)Suudi alıcının TRN'sini doğrula, çift dilli Arabic+English alanlarıyla ZATCA Phase 2 JSON zarfını oluştur ve UBL…İş akışını çalıştır →