◯ مجاني: 5 استخدامات/اليوم • يُعاد التعيين خلال 17h 9m
التطوير والتقنية

مولد استعلامات SQL

صف ما تحتاجه باللغة الإنجليزية البسيطة واحصل على استعلام SQL صحيح وقابل للقراءة لـ PostgreSQL، MySQL، SQLite، SQL Server، BigQuery أو Snowflake — مع احترام مخططك، مع شرح كل عبارة وملاحظات حول الفهارس والأداء.

تعرف على المزيد

يقوم مولد استعلامات SQL بتحويل سؤال — 'الإيرادات الشهرية لكل دولة لعام 2025، فقط العملاء الذين لديهم أكثر من ثلاث طلبات' — إلى استعلام مكتوب لقاعدة البيانات التي تستخدمها: PostgreSQL، MySQL و MariaDB، SQLite، SQL Server، BigQuery أو Snowflake. الصق جداولك وأعمدتك وسيستخدم الاستعلام تلك الأسماء بالضبط؛ إذا تركت المخطط فارغًا سيذكر الافتراضات التي قام بها. يمكنك اختيار النمط (CTEs قابلة للقراءة، مضغوط، أو تحليلي مع دوال النافذة) وكمية الشرح التي تريدها، وينتهي كل جواب بشكل النتيجة والفهارس التي تجعل التنفيذ سريعًا. لا يكتب أبدًا عبارات مدمرة إلا إذا طلبت ذلك.

0 / 4000
0 / 10000

✓ مجاني للاستخدام — بلا تسجيل وبلا بطاقة ائتمان.

لجميع الفئات

الإيرادات الشهرية لكل دولة، العملاء النشطون فقط

تقرير مالي مع مرشح عملاء بنمط HAVING

عرض معاينة الإدخال والإخراج

الإدخال

ماذا يجب أن يُعيد الاستعلام؟
Monthly revenue per country for 2025, counting only customers who placed more than 3 orders in 2025. Sort by month, then revenue descending.
الجداول والأعمدة (اختياري)
orders(id, customer_id, total_cents integer, created_at timestamp) customers(id, country text, signup_at timestamp)
لهجة SQL
PostgreSQL
نمط الاستعلام
قابل للقراءة (CTEs، شرط واحد في كل سطر)
شرح
مختصر

الإخراج (مقتطف)

```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;
```

**المخطط كما هو مُعطى.**

تجد CTE العملاء الذين لديهم أكثر من ثلاث طلبات في عام 2025؛ يستمر الاستعلام الرئيسي في الاحتفاظ بطلباتهم فقط، يقتطع كل طلب إلى شهره ويجمع الإيرادات حسب الشهر والدولة. النطاق الزمني نصف مفتوح بحيث يُحسب 31 ديسمبر مرة واحدة…
المطوّرون

أحدث طلب لكل عميل

استعلام باستخدام دالة نافذة يحل محل استعلام فرعي مترابط

عرض معاينة الإدخال والإخراج

الإدخال

ماذا يجب أن يُعيد الاستعلام؟
For every customer, their most recent order with its total and date.
الجداول والأعمدة (اختياري)
orders(id, customer_id, total_cents integer, created_at timestamp) customers(id, email text)
لهجة SQL
MySQL / MariaDB
نمط الاستعلام
تحليلي (دوال النافذة عند الحاجة)
شرح
مفصل (عبارة بعبارة)

الإخراج (مقتطف)

```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;
```

**المخطط كما هو مُعطى.**

| العبارة | ما تقوم به |
|---|---|
| `ROW_NUMBER() OVER (PARTITION BY … ORDER BY created_at DESC, id DESC)` | يرقم طلبات كل عميل بدءًا من الأحدث؛ يجعل تفرّيد الـ id النتيجة حتمية |
| `JOIN ranked … AND r.rn = 1` | يحافظ على صف واحد بالضبط لكل عميل |…

ستظهر نتائج مولد استعلامات SQL هنا

توقَّع كتلًا برمجية نظيفة مع تعليقات، بالإضافة إلى شرح موجز للتغييرات.

كيفية الاستخدام مولد استعلامات SQL

  1. اكتب السؤال كما لو كنت تسأل زميلًا: ما الصفوف، ما الفلاتر، ما التجميع، ما الترتيب.
  2. الصق جداولك وأعمدتك إذا كانت متوفرة — جدول واحد في كل سطر مع أعمدته داخل أقواس. ثم يستخدم الاستعلام أسمائك الحقيقية ولا يحتاج إلى تعديل.
  3. اختر لهجة قاعدة البيانات التي تستخدمها؛ وظائف التاريخ، LIMIT مقابل TOP، والاقتباس تختلف بين PostgreSQL وMySQL وSQLite وSQL Server وBigQuery وSnowflake.
  4. اختر شرح 'مفصل' عندما تتعلم أو تراجع طلب شخص آخر، واختر 'الاستعلام فقط' عندما تعرف ما طلبته.

حالات الاستخدام

1

الإجابة على سؤال تجاري من محلل دون انتظار فريق البيانات.

2

تحويل طلب تقرير إلى استعلام يحترم المخطط الحقيقي لمستودع البيانات.

3

إعادة كتابة استعلام بطيء إلى نسخة CTE قابلة للقراءة مع الفهارس المطلوبة.

4

ترجمة استعلام من MySQL إلى PostgreSQL أو BigQuery عند الترحيل.

5

صياغة جملة SELECT التي تعرض ما سيتأثر بـ UPDATE أو DELETE قبل تنفيذها.

نصائح للحصول على أفضل النتائج

  • ضمّن أنواع الأعمدة في المخطط (created_at timestamp، total_cents integer) ويتعامل الاستعلام مع التواريخ والمال بشكل صحيح.
  • اذكر 'فقط' و'على الأقل' صراحةً — 'العملاء الذين لديهم أكثر من 3 طلبات' يتحول إلى شرط HAVING، وليس WHERE.
  • لوحة التحكم، اطلب النمط التحليلي: وظائف النوافذ تتجنب الانضمامات الذاتية التي تجعل التقارير بطيئة.
  • اقرأ قسم الأداء؛ يذكر الفهرس الذي يحول الفحص الكامل للجدول إلى عملية بحث.

أسئلة شائعة

ما قواعد البيانات المدعومة؟

PostgreSQL وMySQL وMariaDB وSQLite وSQL Server (T‑SQL) وBigQuery وSnowflake. يستخدم الاستعلام وظائف وصياغة تلك اللهجة — تقليم التاريخ، LIMIT أو TOP، الاقتباس وتجميع السلاسل تختلف جميعًا، ويتم كتابة الناتج لللهجة التي اخترتها.

هل يجب عليّ لصق المخطط الخاص بي؟

لا، لكن ذلك يساعد. مع وجود مخطط يستخدم الاستعلام أسماء الجداول والأعمدة الدقيقة ولا يحتاج إلى تعديل. بدون مخطط، تفترض الأداة مخططًا بسيطًا معقولًا وتُدرج كل افتراض فوق الشرح لتتمكن من تصحيحه.

هل سيكتب أمر DELETE أو UPDATE؟

فقط عندما تطلب تعديلًا صراحةً. حتى في هذه الحالة يضع الأمر داخل معاملة ويضع جملة SELECT التي تعرض الصفوف المتأثرة أولًا، حتى تتمكن من التحقق قبل التنفيذ.

كيف يتعامل مع التواريخ والمال؟

تستخدم التواريخ وظائف التقليم والمقارنة الأصلية لللهجة، وتُكتب الفواصل كفواصل نصف مفتوحة بحيث لا يُحسب أي يوم مرتين. يُحفظ المال كقُرص (سنتات) صحيحة حتى القسمة النهائية، وتوضح بنية النتيجة الوحدة التي ينتمي إليها كل عمود.

هل يضمن الاستعلام أن يكون سريعًا؟

يُكتب ليكون صحيحًا أولًا وقابلًا للقراءة ثانيًا، وينتهي كل جواب بالفهارس التي تجعل التنفيذ سريعًا والبُنى التي قد تمنع استخدام الفهارس. جرّبه على حجم بيانات واقعي قبل جدولته — فقط قاعدة بياناتك تعرف إحصائياتها.

🔒
خصوصيتك محمية

نحتفظ بمدخلاتك والنتيجة لمدة أقصاها 90 يومًا لتشغيل الخدمة ومنع إساءة الاستخدام، ولعرض سجلّك إذا كنت مسجّل الدخول. يعالجها مزوّدو الذكاء الاصطناعي المذكورون في سياسة الخصوصية لدينا. لا نبيعها.

أدوات ذات صلة

جرّب هذا الوكيل

بانِي العلامة التجاريةأنشئ أسماء للعلامة التجارية، واصنع شعارًا، واكتب قصة علامتك التجارية، وحدد إرشادات العلامة التجارية.جرّب هذا الوكيل →

سير عمل ذو صلة

إنتاج فيديو طويلفكرة → نص → صورة مصغرة → تحميل البيانات الوصفية في جلسة واحدةتشغيل سير العمل →

اقرأ المزيد