
إعداد فريق تسوى التحريري، من المصادر الرسمية المذكورة في آخر الدليل. كيف نكتب أدلتنا
تفتح فيديو عن SQL، وتتابع المدرّس وهو يكتب استعلاماً طويلاً على جدول موظفين لا يعنيك، وتقول لنفسك إنك فهمت. بعد يومين تجلس أمام شاشة فارغة ولا تعرف من أين تبدأ. هذا يحدث لأن الفهم بالمشاهدة غير الكتابة باليد. الخطة التالية تقلب الترتيب: تكتب من اليوم الأول، على بيانات تخصك.
كيف أبدأ تعلم SQL للطلاب من الصفر؟
ابدأ بالأداة الأخف. SQLite يخزّن قاعدة البيانات كلها في ملف واحد، ويأتي معه برنامج سطر أوامر اسمه sqlite3 تفتح به الملف وتكتب الاستعلامات مباشرة.1 على ماك يكون موجوداً غالباً، وعلى ويندوز تنزّله من موقع SQLite الرسمي، وإن كرهت سطر الأوامر فبرنامج مجاني مثل DB Browser for SQLite يعطيك نافذة رسومية فوق الملف نفسه. اللغة واحدة في الحالتين.
قبل أن تكتب أي شيء، اختر موضوعاً. أنسب الموضوعات للمبتدئ ما تعرف بياناته: مقرراتك وتقييماتها ودرجاتك، أو مصروفك الشهري، أو جدول تدريب الأسبوع. اكتب الموضوع في جملة، مثل: أي مقرر يأخذ مني أكثر ساعات هذا الفصل؟ هذه الجملة ستوجه كل جدول تنشئه.
ما خطة تعلم SQL خلال أسبوعين؟
- اليوم 1: ثبّت وافتح قاعدة
أنشئ ملفاً اسمه study.db، وأنشئ جدول courses بأعمدة: id واسم المقرر والساعات المعتمدة. أدخل خمسة مقررات حقيقية بأمر INSERT.
- اليوم 2: SELECT وWHERE
اقرأ كل الصفوف، ثم الأعمدة التي تحتاجها فقط، ثم صفّ المقررات التي ساعاتها أكثر من ثلاث. اكتب كل استعلام بيدك ولا تنسخ.2
- اليوم 3: ORDER BY وLIMIT
رتّب المقررات بحسب الساعات، وخذ أول اثنين. غيّر الترتيب إلى تنازلي وراقب النتيجة.
- اليوم 4: جدول ثانٍ
أنشئ جدول assessments فيه اختبار وواجب لكل مقرر، مع عمود course_id يشير إلى المقرر، وعمود الدرجة والوزن.
- اليوم 5: مراجعة بلا نظر
أعد كتابة استعلامات الأيام الأربعة من الذاكرة في ملف جديد. ما نسيته هو ما تراجعه.
- اليوم 6 و7: راحة وقراءة
اقرأ صفحة SELECT في توثيق SQLite، وتوقف عند ما لم تفهمه من أمثلتها.2
- اليوم 8 و9: JOIN
اربط المقررات بتقييماتها لتعرض اسم المقرر بجانب كل درجة. جرّب INNER JOIN ثم LEFT JOIN، وانظر أي مقرر لا تقييم له بعد.
- اليوم 10 و11: GROUP BY
احسب المتوسط وعدد التقييمات لكل مقرر، ثم صفّ النتيجة بعد التجميع بـ HAVING.
- اليوم 12 إلى 14: المشروع
أجب عن ثلاثة أسئلة من موضوعك، واكتب لكل سؤال استعلاماً وجملة تشرح نتيجته.

ما أول استعلام SQL أكتبه؟
أول استعلام لك يجب أن يكون صغيراً حتى تراه يعمل. بعد إنشاء جدول المقررات وإدخال صفوفه اكتب: SELECT name, credits FROM courses WHERE credits > 3 ORDER BY credits DESC; وهذا مثال توضيحي لا بيانات حقيقية. اقرأه كجملة: اختر الاسم والساعات من جدول المقررات حيث الساعات أكبر من ثلاث، ورتبها من الأكبر. إن فهمت الجملة فقد فهمت الاستعلام.
عندما يعطيك SQLite خطأ، لا تنزعج. الخطأ يذكر عادة الكلمة التي تعثّر عندها، وأشهر الأسباب فاصلة زائدة أو فاصلة منقوطة ناقصة أو اسم عمود مكتوب خطأ. اقرأ رسالة الخطأ كاملة قبل أن تغيّر شيئاً، فالتخمين العشوائي يضيّع الوقت.
كيف أتدرب على الربط والتجميع بدون بيانات جاهزة؟
ابنِ البيانات بنفسك أولاً. عشرون صفاً من درجاتك الحقيقية أو التقديرية تكفي للتدرب على JOIN وGROUP BY، وهي أفضل من جدول ضخم لا تعرف من أين جاء. اكتب في اسم كل مثال أنه مثال إن لم تكن بياناتك حقيقية، حتى لا تختلط عليك النتائج لاحقاً.
وحين تريد بيانات أكبر، ففي منصة البيانات المفتوحة الوطنية مجموعات بيانات منشورة يمكنك تنزيل بعضها بصيغة CSV.3 راجع شروط استخدام كل مجموعة ونوع الترخيص قبل أن تنشر نتائجك. بعد التنزيل استورد الملف إلى SQLite: اضبط الوضع بالأمر .mode csv ثم استورد بالأمر .import واسم الملف واسم الجدول.1
| الاستعلام | ما يفعله | متى تستخدمه |
|---|---|---|
| SELECT … WHERE | يختار الصفوف التي تحقق شرطاً | عندما تسأل: أي الصفوف تهمني؟ |
| ORDER BY … LIMIT | يرتب النتائج ويقتطع أولها | عندما تريد الأعلى أو الأقل |
| JOIN | يجمع جدولين عبر عمود مشترك | عندما تكون المعلومة موزعة على جدولين |
| GROUP BY | يحسب مجموعاً أو متوسطاً لكل فئة | عندما تسأل: كم لكل مقرر أو شهر؟ |
| HAVING | يصفّي بعد التجميع | عندما يكون الشرط على نتيجة حسابية |

كيف أحوّل ما تعلمته إلى مشروع بيانات صغير؟
المشروع يعني ثلاثة أسئلة وثلاثة استعلامات وصفحة شرح. على سبيل المثال في موضوع المقررات: أي مقرر متوسط درجاته أقل؟ أي تقييم وزنه أكبر ولم أنجزه؟ كم ساعة معتمدة أحمل هذا الفصل؟ يكفي أن تكون الأسئلة بهذا الحجم، وأن تفسّر كل نتيجة بجملة لا بجدول فقط.
احفظ المشروع في مجلد واحد فيه ملف قاعدة البيانات وملف نصي بالاستعلامات وملف الشرح. هذا المجلد هو ما تعرضه على مشرفك أو في مقابلة التدريب، وهو أقوى من عبارة «أعرف SQL» في سيرتك. وإن أردت أن تكبر بعده فخريطة تحليل البيانات للطلاب تُريك الخطوة التالية.
هل أتعلم SQL أم بايثون أولاً؟
تعلّم SQL أولاً إن كان تخصصك محاسبة أو إدارة أو تسويقاً أو إدارة معلومات صحية، لأنك ستفتح قواعد بيانات قبل أن تكتب برنامجاً. وتعلّم بايثون أولاً إن كان هدفك الذكاء الاصطناعي أو الأتمتة. ولو تعلمت الاثنين فابدأ بـ SQL ثلاثة أسابيع فقط، فهي لغة لها مفردات قليلة، ثم انتقل. وللتفاصيل الأعمق في الاستعلامات الأساسية اقرأ تعلم SQL من الصفر.
وجدول المقررات الذي بنيته هنا يخدمك في موضوع آخر أيضاً: إن كنت تتابع درجاتك في إكسل فاقرأ متابعة درجات المقرر في إكسل وقارن الطريقتين، فكل واحدة تناسب حجماً مختلفاً من البيانات.





