يظهر 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=trueorderby created_at desclimit10
بعد التنسيق
SELECT id, nameFROM usersWHERE active =trueORDERBY created_at DESCLIMIT10;
كل عبارة أصبحت على سطرها، وقائمة الأعمدة مزاحة. مراجعة هذا الاستعلام في الـ 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_idFROM enrollmentsWHERE 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) والمعرفات بأحرف صغيرة، لأن التباين البصري يبرز بنية الاستعلام. اختر نمطًا واحدًا والتزم به.