Menu
العربية

مُنسق SQL

رتّب استعلامات SQL بإزاحة ذكية تراعي البنية.

Last updated

الكلمات المفتاحية
الإزاحة
الإدخالالصق SQL للبدء
الإخراج
يظهر SQL المنسق هنا — أعد الإزاحة والمحاذاة وانسخ بنقرة واحدة.

ما هي أداة تنسيق SQL؟

أداة تنسيق SQL تأخذ استعلامًا مكتوبًا في سطر واحد، أو مولّدًا تلقائيًا من ORM، وتعيد كتابته بإزاحات وأسطر منتظمة. يلجأ إليها المطورون والمحللون عند مراجعة الـ joins، أو تتبّع الفلاتر، أو تنظيف ما يخرج من ORM، أو مشاركة الاستعلامات في تذاكر العمل والتوثيق، أو عند قراءة خطط التنفيذ خطوة بخطوة.

التنسيق لا يغيّر *عمل* الاستعلام، بل يغيّر سهولة قراءته. عندما يصبح الشكل منظمًا، تتضح العلاقة بين SELECT وFROM وJOIN وWHERE وGROUP BY وHAVING وORDER BY بشكل أسهل بكثير، خصوصًا في الاستعلامات التي تجمع بين الاستعلامات الفرعية والـ CTEs.

للغة SQL *لهجات* متعددة — PostgreSQL وMySQL وSQLite وT-SQL (مايكروسوفت SQL Server) وOracle وBigQuery، وكلٌّ منها يضيف بناءً خاصًا فوق المعيار. الأداة الجيدة تفهم اللهجة التي تختارها حتى لا تكسر صياغة خاصة بمزوّد معين.

ماذا ستتعلم أثناء تنسيق SQL

  • لكل عبارة في SQL دور محدد: SELECT تختار الأعمدة، وFROM تختار الجداول، وWHERE تفلتر الصفوف، وGROUP BY تجمّعها، وORDER BY ترتّبها.
  • الإزاحة المنظمة تكشف الاستعلامات المتداخلة والـ joins والشروط التي تختفي تمامًا في استعلام مكتوب على سطر واحد.
  • اللهجة مهمة — RETURNING وLIMIT وTOP والمعرفات بالأقواس ([col] مقابل "col") ليست متوافقة بين قواعد البيانات.

كيف تنسّق استعلام SQL خطوة بخطوة

  1. ألصق الاستعلام

    ضع كود SQL في صندوق الإدخال. سواء كان مكتوبًا في سطر واحد، أو مولّدًا من ORM، أو منسقًا جزئيًا، الأداة تتعامل معه.

  2. اختر اللهجة

    اختر PostgreSQL أو MySQL أو SQLite أو T-SQL حتى تحترم الأداة الكلمات المفتاحية الخاصة بكل مزوّد مثل LIMIT وTOP وRETURNING.

  3. اضبط نمط التنسيق

    حدّد حالة الكلمات المفتاحية (الأحرف الكبيرة هي المعيار) وعرض الإزاحة (مسافتان أو أربع). معظم الفرق تختار كلمات بالأحرف الكبيرة مع إزاحة بمسافتين.

  4. اقرأ الناتج المنسّق

    كل عبارة على سطرها الخاص، الـ joins تبدو محاذية، والاستعلامات الفرعية مزاحة. التعليقات تبقى محفوظة كما هي.

  5. انسخ النتيجة إلى مشروعك

    ألصق الاستعلام المنسّق في ملف الـ migration، أو الاستعلام الخام داخل ORM، أو أداة الـ BI لديك. كل شيء يتم داخل متصفحك فقط.

مرجع سريع لعبارات SQL

العبارات التي ستراها في 95% من استعلامات SELECT، مرتبة حسب الترتيب المنطقي لمعالجتها. مراجع رسمية: PostgreSQL SELECT، MySQL SELECT.

العبارةالوظيفةمثال
SELECTتحديد الأعمدة أو التعابير المراد إرجاعهاSELECT id, name
FROMتحديد الجدول أو الجداول المصدرFROM users
JOIN ... ONدمج الصفوف من جدول آخرJOIN orders ON orders.user_id = users.id
WHEREتصفية الصفوف قبل التجميعWHERE active = true
GROUP BYتجميع الصفوف التي تشترك في قيم معيّنةGROUP BY country
HAVINGتصفية المجموعات المجمّعةHAVING COUNT(*) > 10
ORDER BYترتيب نتيجة الاستعلامORDER BY created_at DESC
LIMIT / OFFSETتقسيم النتيجة على صفحاتLIMIT 20 OFFSET 40
WITH ... ASتعبير جدولي مشترك (CTE) — تسمية استعلام فرعيWITH active AS (...)

أمثلة SQL لتجربتها

تنسيق استعلام بسيط

المدخل
select id,name from users where active=true order by created_at desc limit 10
بعد التنسيق
SELECT  id,  nameFROM usersWHERE active = trueORDER BY created_at DESCLIMIT 10;

كل عبارة أصبحت على سطرها، وقائمة الأعمدة مزاحة. مراجعة هذا الاستعلام في الـ code review صارت أسهل بعشرة أضعاف.

قراءة عملية join

المدخل
select u.name,o.total from users u join orders o on o.user_id=u.id where o.total>100
بعد التنسيق
SELECT  u.name,  o.totalFROM users uJOIN orders o ON o.user_id = u.idWHERE o.total > 100;

إعطاء أسماء مختصرة للجداول (users u وorders o) يجعل قائمة الأعمدة أقصر. وسطر JOIN ... ON يكشف العلاقة بين الجدولين بوضوح.

فهم استعلام فرعي متداخل

المدخل
select * from users where id in (select user_id from enrollments where course_id=5)
بعد التنسيق
SELECT *FROM usersWHERE id IN (  SELECT user_id  FROM enrollments  WHERE course_id = 5);

إزاحة الاستعلام الداخلي تُظهر علاقة الاعتماد بوضوح. كثير من الاستعلامات الفرعية يمكن إعادة كتابتها كـ JOIN أو CTE بمجرد أن تتضح بنيتها.

أخطاء شائعة في تنسيق SQL

  • الافتراض أن الاستعلام المنسّق هو استعلام *صحيح*. التنسيق يغيّر الشكل لا المعنى — استعلام أنيق المظهر قد يعطي نتيجة خاطئة تمامًا.
  • تعديل الاستعلام أثناء التنسيق ثم نسيان إعادة اختباره.
  • تجاهل اختلاف اللهجات — LIMIT 10 في PostgreSQL، وTOP 10 في T-SQL، وFETCH FIRST 10 ROWS ONLY في SQL القياسي، كلها تؤدي نفس المهمة لكن بصياغات مختلفة.

أسئلة شائعة عن أداة تنسيق SQL

هل يغيّر التنسيق نتيجة الاستعلام؟
لا. التنسيق يغيّر المسافات وحالة الأحرف فقط. قاعدة البيانات تترجم النسختين إلى نفس خطة التنفيذ، فتحصل على نفس الصفوف بالضبط.
لماذا أنسّق استعلامات SQL أصلًا؟
الاستعلام المقروء أسهل في تتبّع الأخطاء، ومراجعته، وتعليمه، وصيانته — خصوصًا عندما يحتوي على عدة joins أو استعلامات فرعية أو CTEs أو دوال نوافذ (window functions).
ما المقصود بـ "لهجة SQL"؟
لهجة SQL هي امتداد خاص بقاعدة بيانات معيّنة فوق معيار SQL القياسي. PostgreSQL وMySQL وSQLite وT-SQL (SQL Server) وOracle وBigQuery، كلٌّ منها يملك بناءً فريدًا يخرج عن المعيار.
هل يستطيع المنسّق إصلاح الاستعلامات المعطوبة؟
يستطيع المنسّق أن يكشف بعض مشاكل الصياغة عند إعادة كتابة الاستعلام بشكل منظم، لكنه لا يفهم بنية قاعدة البيانات لديك ولا يضمن أن الاستعلام صحيح منطقيًا.
هل يجب كتابة كلمات SQL المفتاحية بأحرف كبيرة؟
معظم أدلة الأسلوب توصي بكتابة الكلمات المفتاحية بالأحرف الكبيرة (SELECT وFROM وWHERE) والمعرفات بأحرف صغيرة، لأن التباين البصري يبرز بنية الاستعلام. اختر نمطًا واحدًا والتزم به.

اعرف المزيد

أدوات مطورين أخرى

تعلّم البرمجة مع Coddy

ابدأ الآن