# تعلم SQL للطلاب: خطة أسبوعين من أول استعلام إلى مشروع بيانات

> **الخلاصة**: تعلم SQL للطلاب يبدأ من قاعدة بيانات صغيرة على جهازك لا من كتاب نظري. ثبّت SQLite، وأنشئ جدولين من بياناتك الدراسية، ثم اكتب في الأسبوع الأول SELECT وWHERE وORDER BY، وفي الثاني JOIN وGROUP BY. تنتهي الخطة بمشروع تجيب فيه عن ثلاثة أسئلة حقيقية.[^1][^2]

**أهم النقاط**

- استخدم SQLite: ملف واحد على جهازك بلا خادم ولا تسجيل.[^1]
- الأسبوع الأول للقراءة والتصفية والترتيب، والثاني للربط والتجميع.
- ابنِ المشروع على بيانات تعرفها: درجاتك أو مصروفك أو جدولك.
- سجّل كل استعلام في ملف، وأعد كتابة ما أخطأت فيه من الذاكرة.

![تعلم SQL للطلاب: خطة أسبوعين من أول استعلام إلى مشروع بيانات](https://tiswa.app/assets/blog/sql-two-week-plan-students/sql-two-week-plan-students-cover-ar.webp)

تفتح فيديو عن SQL، وتتابع المدرّس وهو يكتب استعلاماً طويلاً على جدول موظفين لا يعنيك، وتقول لنفسك إنك فهمت. بعد يومين تجلس أمام شاشة فارغة ولا تعرف من أين تبدأ. هذا يحدث لأن الفهم بالمشاهدة غير الكتابة باليد. الخطة التالية تقلب الترتيب: تكتب من اليوم الأول، على بيانات تخصك.

> **رأي تسوى**: أكثر خطأ نراه عند الطلاب أنهم يجمعون دورات ولا يبنون شيئاً. من يخرج بقاعدة بيانات واحدة صغيرة، عملها بنفسه واستعلم منها عن ثلاثة أسئلة، يتحدث في مقابلة التدريب التعاوني بثقة أكبر ممن أنهى خمس دورات بلا مشروع. لذلك المشروع هو الهدف، والدورة مجرد أداة.

## كيف أبدأ تعلم SQL للطلاب من الصفر؟

ابدأ بالأداة الأخف. SQLite يخزّن قاعدة البيانات كلها في ملف واحد، ويأتي معه برنامج سطر أوامر اسمه sqlite3 تفتح به الملف وتكتب الاستعلامات مباشرة.[^1] على ماك يكون موجوداً غالباً، وعلى ويندوز تنزّله من موقع SQLite الرسمي، وإن كرهت سطر الأوامر فبرنامج مجاني مثل DB Browser for SQLite يعطيك نافذة رسومية فوق الملف نفسه. اللغة واحدة في الحالتين.

قبل أن تكتب أي شيء، اختر موضوعاً. أنسب الموضوعات للمبتدئ ما تعرف بياناته: مقرراتك وتقييماتها ودرجاتك، أو مصروفك الشهري، أو جدول تدريب الأسبوع. اكتب الموضوع في جملة، مثل: أي مقرر يأخذ مني أكثر ساعات هذا الفصل؟ هذه الجملة ستوجه كل جدول تنشئه.

## ما خطة تعلم SQL خلال أسبوعين؟

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

![9 خطوات: ما خطة تعلم SQL خلال أسبوعين (اليوم 1: ثبّت وافتح قاعدة، اليوم 2: SELECT وWHERE، اليوم 3: ORDER BY وLIMIT، …)](https://tiswa.app/assets/blog/sql-two-week-plan-students/sql-two-week-plan-students-inline-1-ar.webp)


## ما أول استعلام 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 | يصفّي بعد التجميع | عندما يكون الشرط على نتيجة حسابية |

![جدول: كيف أتدرب على الربط والتجميع بدون بيانات جاهزة (SELECT … WHERE، ORDER BY … LIMIT، JOIN، …)](https://tiswa.app/assets/blog/sql-two-week-plan-students/sql-two-week-plan-students-inline-2-ar.webp)


## كيف أحوّل ما تعلمته إلى مشروع بيانات صغير؟

المشروع يعني ثلاثة أسئلة وثلاثة استعلامات وصفحة شرح. على سبيل المثال في موضوع المقررات: أي مقرر متوسط درجاته أقل؟ أي تقييم وزنه أكبر ولم أنجزه؟ كم ساعة معتمدة أحمل هذا الفصل؟ يكفي أن تكون الأسئلة بهذا الحجم، وأن تفسّر كل نتيجة بجملة لا بجدول فقط.

احفظ المشروع في مجلد واحد فيه ملف قاعدة البيانات وملف نصي بالاستعلامات وملف الشرح. هذا المجلد هو ما تعرضه على مشرفك أو في مقابلة التدريب، وهو أقوى من عبارة «أعرف SQL» في سيرتك. وإن أردت أن تكبر بعده فخريطة [تحليل البيانات للطلاب](https://tiswa.app/blog/data-analysis-roadmap/) تُريك الخطوة التالية.

## هل أتعلم SQL أم بايثون أولاً؟

تعلّم SQL أولاً إن كان تخصصك محاسبة أو إدارة أو تسويقاً أو إدارة معلومات صحية، لأنك ستفتح قواعد بيانات قبل أن تكتب برنامجاً. وتعلّم بايثون أولاً إن كان هدفك الذكاء الاصطناعي أو الأتمتة. ولو تعلمت الاثنين فابدأ بـ SQL ثلاثة أسابيع فقط، فهي لغة لها مفردات قليلة، ثم انتقل. وللتفاصيل الأعمق في الاستعلامات الأساسية اقرأ [تعلم SQL من الصفر](https://tiswa.app/blog/learn-sql/).

وجدول المقررات الذي بنيته هنا يخدمك في موضوع آخر أيضاً: إن كنت تتابع درجاتك في إكسل فاقرأ [متابعة درجات المقرر في إكسل](https://tiswa.app/blog/excel-course-grade-tracker/) وقارن الطريقتين، فكل واحدة تناسب حجماً مختلفاً من البيانات.

أدوات التعلم المدفوعة كثيرة، لكن SQLite مجاني وكافٍ لأول مشروع. وإن أردت دورة أو أداة لاحقاً فتصفّح [عروض الطلاب](https://tiswa.app/deals/) قبل أن تدفع السعر الكامل. [شوف عروض الطلاب](https://tiswa.app/join/)

## أسئلة

### كم يستغرق تعلم SQL للمبتدئ؟

أسبوعان بساعة يومياً يكفيان لتكتب استعلامات التصفية والربط والتجميع. الإتقان يأتي مع المشاريع، لكن الأساس قصير.

### هل أحتاج تثبيت برنامج لتعلم SQL؟

نعم، لكن البرنامج صغير. SQLite يأتي بأداة سطر أوامر مجانية، ويوجد بديل رسومي مجاني إن فضلت النوافذ.[^1]

### ما أفضل موقع لتعلم SQL مجاناً؟

ابدأ بالتوثيق الرسمي مثل صفحة SELECT في SQLite وشرح SQL في توثيق PostgreSQL، ثم طبّق على ملفك.[^2][^4] الموقع الجيد هو الذي تكتب فيه الاستعلام بنفسك.

### هل SQL صعبة على طالب غير برمجة؟

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

### ما الفرق بين SQLite وMySQL للمتعلم؟

SQLite ملف على جهازك بلا خادم، وMySQL خادم يحتاج إعداداً. للتعلم يكفي SQLite، والاستعلامات الأساسية تعمل في الاثنين بالشكل نفسه تقريباً.

### كيف أستورد ملف CSV إلى SQLite؟

افتح قاعدتك في sqlite3 واكتب .mode csv ثم .import اسم_الملف اسم_الجدول. تأكد بعدها بـ SELECT * FROM اسم_الجدول LIMIT 5; أن الأعمدة دخلت صحيحة.[^1]


## المصادر

[^1]: SQLite: Command Line Shell For SQLite, https://www.sqlite.org/cli.html
[^2]: SQLite: SELECT, https://www.sqlite.org/lang_select.html
[^3]: Saudi Open Data Platform, https://data.gov.sa/
[^4]: PostgreSQL documentation: SQL tutorial, https://www.postgresql.org/docs/current/tutorial-sql.html
