skill

استعلامات SQL

كتابة SQL صحيح وعالي الأداء عبر جميع لهجات مستودعات البيانات الرئيسية (Snowflake و BigQuery و Databricks و PostgreSQL وغيرها). استخدمه عند كتابة الاستعلامات أو تحسين SQL البطيء أو الترجمة بين اللهجات أو بناء استعلامات تحليلية معقدة باستخدام CTEs والدوال النافذة أو العمليات الإجمالية.

Anthropic4.82,500+ تثبيتموثوق

نبذة

# مهارة استعلامات SQL

كتابة استعلامات SQL صحيحة وفعّالة وسهلة القراءة عبر جميع لهجات قواعد البيانات الرئيسية.

## مرجع خاص باللهجات

### PostgreSQL (بما فيها Aurora وRDS وSupabase وNeon)

**التاريخ والوقت:** ```sql -- التاريخ والوقت الحالي CURRENT_DATE, CURRENT_TIMESTAMP, NOW()

-- العمليات الحسابية على التاريخ date_column + INTERVAL '7 days' date_column - INTERVAL '1 month'

-- قطع التاريخ إلى فترة زمنية DATE_TRUNC('month', created_at)

-- استخراج الأجزاء EXTRACT(YEAR FROM created_at) EXTRACT(DOW FROM created_at) -- 0=الأحد

-- التنسيق TO_CHAR(created_at, 'YYYY-MM-DD') ```

**دوال النصوص:** ```sql -- الربط first_name || ' ' || last_name CONCAT(first_name, ' ', last_name)

-- مطابقة الأنماط column ILIKE '%pattern%' -- غير حساسة لحالة الأحرف column ~ '^regex_pattern$' -- تعبير نمطي

-- معالجة النصوص LEFT(str, n), RIGHT(str, n) SPLIT_PART(str, delimiter, position) REGEXP_REPLACE(str, pattern, replacement) ```

**المصفوفات وJSON:** ```sql -- وصول JSON data->>'key' -- نص data->'nested'->'key' -- json data#>>'{path,to,key}' -- نص متداخل

-- عمليات المصفوفة ARRAY_AGG(column) ANY(array_column) array_column @> ARRAY['value'] ```

**نصائح الأداء:** - استخدم `EXPLAIN ANALYZE` لتحليل الاستعلامات - أنشئ فهارس على الأعمدة المستخدمة بكثرة في التصفية والربط - استخدم `EXISTS` بدلاً من `IN` للاستعلامات الفرعية المترابطة - استخدم الفهارس الجزئية لشروط التصفية الشائعة - استخدم تجميع الاتصالات للوصول المتزامن

---

### Snowflake

**التاريخ والوقت:** ```sql -- التاريخ والوقت الحالي CURRENT_DATE(), CURRENT_TIMESTAMP(), SYSDATE()

-- العمليات الحسابية على التاريخ DATEADD(day, 7, date_column) DATEDIFF(day, start_date, end_date)

-- قطع التاريخ إلى فترة زمنية DATE_TRUNC('month', created_at)

-- استخراج الأجزاء YEAR(created_at), MONTH(created_at), DAY(created_at) DAYOFWEEK(created_at)

-- التنسيق TO_CHAR(created_at, 'YYYY-MM-DD') ```

**دوال النصوص:** ```sql -- غير حساسة لحالة الأحرف افتراضياً (يعتمد على الترتيب) column ILIKE '%pattern%' REGEXP_LIKE(column, 'pattern')

-- تحليل JSON column:key::string -- دوال النقط للنوع VARIANT PARSE_JSON('{"key": "value"}') GET_PATH(variant_col, 'path.to.key')

-- فك المصفوفات والكائنات SELECT f.value FROM table, LATERAL FLATTEN(input => array_col) f ```

**البيانات شبه المنظمة:** ```sql -- وصول النوع VARIANT data:customer:name::STRING data:items[0]:price::NUMBER

-- فك الهياكل المتداخلة SELECT t.id, item.value:name::STRING as item_name, item.value:qty::NUMBER as quantity FROM my_table t, LATERAL FLATTEN(input => t.data:items) item ```

**نصائح الأداء:** - استخدم مفاتيح التجميع على الجداول الكبيرة (ليس الفهارس التقليدية) - قم بالتصفية على أعمدة مفتاح التجميع لتقليل البيانات المفحوصة - اضبط حجم المستودع المناسب لتعقيد الاستعلام - استخدم `RESULT_SCAN(LAST_QUERY_ID())` لتجنب إعادة تشغيل الاستعلامات المكلفة - استخدم الجداول المؤقتة للبيانات المرحلية

---

### BigQuery (Google Cloud)

**التاريخ والوقت:** ```sql -- التاريخ والوقت الحالي CURRENT_DATE(), CURRENT_TIMESTAMP()

-- العمليات الحسابية على التاريخ DATE_ADD(date_column, INTERVAL 7 DAY) DATE_SUB(date_column, INTERVAL 1 MONTH) DATE_DIFF(end_date, start_date, DAY) TIMESTAMP_DIFF(end_ts, start_ts, HOUR)

-- قطع التاريخ إلى فترة زمنية DATE_TRUNC(created_at, MONTH) TIMESTAMP_TRUNC(created_at, HOUR)

-- استخراج الأجزاء EXTRACT(YEAR FROM created_at) EXTRACT(DAYOFWEEK FROM created_at) -- 1=الأحد

-- التنسيق FORMAT_DATE('%Y-%m-%d', date_column) FORMAT_TIMESTAMP('%Y-%m-%d %H:%M:%S', ts_column) ```

**دوال النصوص:** ```sql -- لا يوجد ILIKE، استخدم LOWER() LOWER(column) LIKE '%pattern%' REGEXP_CONTAINS(column, r'pattern') REGEXP_EXTRACT(column, r'pattern')

-- معالجة النصوص SPLIT(str, delimiter) -- يرجع ARRAY ARRAY_TO_STRING(array, delimiter) ```

**المصفوفات والهياكل:** ```sql -- عمليات المصفوفة ARRAY_AGG(column) UNNEST(array_column) ARRAY_LENGTH(array_column) value IN UNNEST(array_column)

-- وصول الهيكل struct_column.field_name ```

**نصائح الأداء:** - قم دائماً بالتصفية على أعمدة التقسيم (عادة التاريخ) لتقليل البايتات المفحوصة - استخدم التجميع للأعمدة المستخدمة بكثرة في التصفية ضمن التقسيمات - استخدم `APPROX_COUNT_DISTINCT()` لتقدير عدد القيم المميزة على نطاق واسع - تجنب `SELECT *` -- يتم الفواتير حسب البايتات المفحوصة - استخدم `DECLARE` و`SET` للنصوص البرمجية ذات المعاملات - معاينة تكلفة الاستعلام بتشغيل تجريبي قبل تنفيذ الاستعلامات الكبيرة

---

### Redshift (Amazon)

**التاريخ والوقت:** ```sql -- التاريخ والوقت الحالي CURRENT_DATE, GETDATE(), SYSDATE

-- العمليات الحسابية على التاريخ DATEADD(day, 7, date_column) DATEDIFF(day, start_date, end_date)

-- قطع التاريخ إلى فترة زمنية DATE_TRUNC('month', created_at)

-- استخراج الأجزاء EXTRACT(YEAR FROM created_at) DATE_PART('dow', created_at) ```

**دوال النصوص:** ```sql -- غير حساسة لحالة الأحرف column ILIKE '%pattern%' REGEXP_INSTR(column, 'pattern') > 0

-- معالجة النصوص SPLIT_PART(str, delimiter, position) LISTAGG(column, ', ') WITHIN GROUP (ORDER BY column) ```

**نصائح الأداء:** - صمم مفاتيح التوزيع للربط المتواجد (DISTKEY) - استخدم مفاتيح الترتيب للأعمدة المستخدمة بكثرة في التصفية (SORTKEY) - استخدم `EXPLAIN` للتحقق من خطة الاستعلام - تجنب حركة البيانات عبر العقد (راقب DS_BCAST و DS

التثبيت

شغل هذا الأمر

git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/data/skills/sql-queries ~/.claude/skills/

يعمل مع

claude appclaude codeclaude apicursorcodexwindsurfclinezed

خطوات التثبيت

استنسخ المستودع وانسخ مجلد `data/skills/sql-queries` إلى دليل مهارات Claude الخاص بك. متوافق مع Claude Code و Cursor و Codex وأي وكيل متوافق مع Agent Skills.

عرض المصدر
الرخصة: Apache-2.0بواسطة Anthropic

أصول ذات صلة

مختارات أخرى في البيانات والتحليلات.

skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/bio-research/skills/nextflow-development ~/.claude/skills/
تطوير Nextflow
تشغيل خطوط معالجة nf-core للمعلوماتية الحيوية (rnaseq، sarek، atacseq) على بيانات التسلسل. استخدم هذا عند تحليل بيانات RNA-seq أو WGS/WES أو ATAC-seq…★ 4.8 · 2,500+
skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/data/skills/data-context-extractor ~/.claude/skills/
محلل سياق البيانات
أنشئ أو حسّن مهارة تحليل بيانات خاصة بالشركة من خلال استخراج المعرفة من المحللين. وضع التمهيد - المُشعِلات: "إنشاء مهارة سياق بيانات"، "إعداد تحليل ا…★ 4.8 · 2,500+
skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/bio-research/skills/instrument-data-to-allotrope ~/.claude/skills/
بيانات الأداة إلى Allotrope
تحويل ملفات مخرجات أجهزة المختبر (PDF و CSV و Excel و TXT) إلى صيغة Allotrope Simple Model (ASM) JSON أو CSV مسطح ثنائي الأبعاد. استخدم هذه المهارة عن…★ 4.8 · 2,500+
skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/data/skills/analyze ~/.claude/skills/
تحليل
الإجابة على أسئلة البيانات — من الاستعلامات السريعة إلى التحليلات الشاملة. استخدمه عند البحث عن مقياس واحد، أو التحقيق في العوامل التي تؤثر على اتجاه…★ 4.8 · 2,500+
skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/bio-research/skills/start ~/.claude/skills/
ابدأ
قم بإعداد بيئة البحث البيولوجي واستكشف الأدوات المتاحة. استخدمه عند البدء الأول في التعرف على المكون الإضافي، والتحقق من خوادم MCP المتصلة الخاصة بالأ…★ 4.8 · 2,500+
skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/data/skills/validate-data ~/.claude/skills/
التحقق من البيانات
التحقق من الجودة والتدقيق قبل مشاركة التحليل — فحص المنهجية والدقة والانحيازات المحتملة. استخدم هذا عند مراجعة تحليل قبل عرضه على أصحاب المصلحة، والتح…★ 4.8 · 2,500+

افحص قبل التثبيت

شغل أي مصدر عبر فحوصاتنا - الظهور في الذكاء الاصطناعي والأمان والأداء واكتشاف التقنيات.

المزيد في البيانات والتحليلات