skill
اكتب استعلام
اكتب SQL محسّناً لدارجتك مع أفضل الممارسات. استخدمه عند ترجمة احتياج بيانات بصيغة طبيعية إلى SQL، أو بناء استعلام متعدد CTE مع عمليات ربط وتجميع، أو تحسين استعلام ضد جدول كبير مقسّم، أو الحصول على صيغة خاصة بالدارجة مثل Snowflake و BigQuery و Postgres وغيرها.
نبذة
# /write-query - كتابة استعلام SQL محسّن
> إذا رأيت عناصر نائبة غير معروفة أو كنت بحاجة للتحقق من الأدوات المتصلة، راجع [CONNECTORS.md](../../CONNECTORS.md).
اكتب استعلام SQL من وصف باللغة الطبيعية، محسّن لنوع SQL المحدد لديك ويتبع أفضل الممارسات.
## الاستخدام
``` /write-query <وصف البيانات التي تحتاجها> ```
## سير العمل
### 1. فهم الطلب
حلّل وصف المستخدم لتحديد:
- **أعمدة المخرجات**: ما هي الحقول التي يجب أن تتضمنها النتيجة؟ - **المرشحات**: ما هي الشروط التي تحد من البيانات (نطاقات زمنية، قطاعات، الحالات)؟ - **التجميعات**: هل هناك عمليات GROUP BY وعمليات العد والمجاميع والمتوسطات؟ - **الوصلات**: هل يتطلب هذا دمج جداول متعددة؟ - **الترتيب**: كيف يجب ترتيب النتائج؟ - **الحدود**: هل هناك متطلب لأفضل N أو عينة؟
### 2. تحديد نوع SQL
إذا لم يكن نوع SQL لديك معروفاً بالفعل، اسأل أي نوع تستخدم:
- **PostgreSQL** (بما فيها Aurora و RDS و Supabase و Neon) - **Snowflake** - **BigQuery** (Google Cloud) - **Redshift** (Amazon) - **Databricks SQL** - **MySQL** (بما فيها Aurora MySQL و PlanetScale) - **SQL Server** (Microsoft) - **DuckDB** - **SQLite** - **آخر** (اطلب التفاصيل)
تذكر نوع SQL للاستعلامات المستقبلية في نفس الجلسة.
### 3. اكتشاف المخطط (إذا كانت المستودعات متصلة)
إذا كان خادم MCP لمستودع البيانات متصلاً:
1. ابحث عن الجداول ذات الصلة بناءً على وصف المستخدم 2. افحص أسماء الأعمدة والأنواع والعلاقات 3. تحقق من مفاتيح التقسيم أو التجميع التي تؤثر على الأداء 4. ابحث عن العروض المدمجة مسبقاً أو العروض المادية التي قد تبسط الاستعلام
### 4. كتابة الاستعلام
اتبع أفضل الممارسات التالية:
**الهيكل:** - استخدم CTEs (بند WITH) للوضوح عندما تحتوي الاستعلامات على خطوات منطقية متعددة - CTE واحد لكل تحويل أو مصدر بيانات منطقي - سمّ CTEs بأسماء وصفية (مثل `daily_signups` و `active_users` و `revenue_by_product`)
**الأداء:** - لا تستخدم أبداً `SELECT *` في استعلامات الإنتاج -- حدد الأعمدة المطلوبة فقط - صفّ البيانات مبكراً (ادفع بند WHERE بالقرب قدر الإمكان من الجداول الأساسية) - استخدم مرشحات التقسيم عند توفرها (خاصة تقسيمات التاريخ) - فضّل `EXISTS` على `IN` للاستعلامات الجزئية ذات مجموعات النتائج الكبيرة - استخدم أنواع JOIN المناسبة (لا تستخدم LEFT JOIN عندما يكون INNER JOIN صحيحاً) - تجنب الاستعلامات الجزئية المرتبطة عندما تعمل JOIN أو دالة نافذة - كن حذراً من وصلات الانفجار (العديد إلى العديد)
**الوضوح:** - أضف تعليقات تشرح السبب للمنطق غير الواضح - استخدم المحاذاة والتنسيق المتسق - استخدم أسماء مستعارة للجداول ذات مغزى (وليس فقط `a` و `b` و `c`) - ضع كل بند رئيسي على سطره الخاص
**تحسينات خاصة بالنوع:** - طبّق بناء الجملة والدوال الخاصة بالنوع (راجع مهارة `sql-queries` للتفاصيل) - استخدم بناء الجملة المناسب للنوع ودوال التاريخ والسلسلة وصيغة النافذة - لاحظ ميزات الأداء الخاصة بالنوع (مثل تجميع Snowflake وتقسيم BigQuery)
### 5. عرض الاستعلام
وفّر:
1. **الاستعلام الكامل** في كتلة كود SQL مع تمييز بناء الجملة 2. **شرح موجز** لما تفعله كل CTE أو قسم 3. **ملاحظات الأداء** إن أمكن (التكلفة المتوقعة واستخدام التقسيم والاختناقات المحتملة) 4. **اقتراحات التعديل** -- كيفية التعديل للتغييرات الشائعة (نطاق زمني مختلف أو دقة مختلفة أو مرشحات إضافية)
### 6. عرض الخيار لتنفيذ
إذا كان مستودع بيانات متصلاً، عرض خيار تشغيل الاستعلام وتحليل النتائج. إذا أراد المستخدم تشغيله بنفسه، يكون الاستعلام جاهزاً للنسخ واللصق.
## أمثلة
**تجميع بسيط:** ``` /write-query عدد الطلبات حسب الحالة في آخر 30 يوماً ```
**تحليل معقد:** ``` /write-query تحليل احتفاظ الفئات -- جمّع المستخدمين حسب شهر التسجيل، ثم أظهر ما هي النسبة المئوية التي لا تزال نشطة (كان لديها حدث واحد على الأقل) بعد 1 و 3 و 6 و 12 شهراً من التسجيل ```
**حساس للأداء:** ``` /write-query لدينا جدول أحداث بـ 500 مليون صف مقسّم حسب التاريخ. ابحث عن أفضل 100 مستخدم حسب عدد الأحداث في آخر 7 أيام مع نوع الحدث الأخير لديهم. ```
## النصائح
- اذكر نوع SQL الخاص بك في البداية للحصول على بناء الجملة الصحيح على الفور - إذا كنت تعرف أسماء الجداول، أدرجها -- خلاف ذلك سيساعدك Claude على العثور عليها - حدد ما إذا كنت بحاجة إلى أن يكون الاستعلام خاملاً (آمناً لإعادة التشغيل) أو لمرة واحدة - بالنسبة للاستعلامات المتكررة، اذكر ما إذا كان يجب أن يكون محدد المعاملات لنطاقات التاريخ
التثبيت
شغل هذا الأمر
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/data/skills/write-query ~/.claude/skills/يعمل مع
خطوات التثبيت
استنسخ المستودع وانسخ مجلد `data/skills/write-query` إلى دليل مهارات Claude الخاص بك. متوافق مع Claude Code و Cursor و Codex وأي وكيل متوافق مع Agent Skills.
أصول ذات صلة
مختارات أخرى في البيانات والتحليلات.
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/bio-research/skills/nextflow-development ~/.claude/skills/
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/data/skills/data-context-extractor ~/.claude/skills/
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/bio-research/skills/instrument-data-to-allotrope ~/.claude/skills/
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/data/skills/analyze ~/.claude/skills/
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/bio-research/skills/start ~/.claude/skills/
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/data/skills/validate-data ~/.claude/skills/
افحص قبل التثبيت
شغل أي مصدر عبر فحوصاتنا - الظهور في الذكاء الاصطناعي والأمان والأداء واكتشاف التقنيات.
فحص أمني تلقائي للموقع
الأمان
محلل سرعة الصفحة
الأداء
اختبار جودة المحتوى العربي بالذكاء الاصطناعي
جودة المحتوى
مختبر وكلاء الذكاء الاصطناعي
اختبار الذكاء الاصطناعي
كاشف منصة الموقع
الترحيل
تدقيق الظهور في محركات الذكاء الاصطناعي
الظهور في الذكاء الاصطناعي
مولد ملف llms.txt
الظهور في الذكاء الاصطناعي
مقياس سهولة القراءة بالعربية
جودة المحتوى
منشئ البيانات المنظمة
الظهور في الذكاء الاصطناعي
حاسبة تكاليف الذكاء الاصطناعي
اختبار الذكاء الاصطناعي
محلل العناوين العربية
جودة المحتوى