
إعداد فريق تسوى التحريري، من المصادر الرسمية المذكورة في آخر الدليل. كيف نكتب أدلتنا
تعلم SQL من أسرع المهارات التقنية عائداً على الطالب: لغة قصيرة تستطيع أساسياتها في أسابيع، وتحتاجها في علوم الحاسب ونظم المعلومات وتحليل البيانات والإدارة وحتى الأبحاث. كل تطبيق تستخدمه يحفظ بياناته في قاعدة بيانات، وSQL هي الطريقة التي تسأل بها هذه القاعدة. في هذا الدليل تبني جدول طلاب صغير على جهازك، وتكتب الاستعلامات الأساسية بأمثلة حقيقية، ثم تتبع خطة ستة أسابيع للتدريب.
ما هي SQL ولماذا يطلبها الجميع؟
SQL اختصار Structured Query Language، وهي لغة للتعامل مع قواعد البيانات العلائقية: البيانات محفوظة في جداول، لكل جدول أعمدة وصفوف، والجداول ترتبط ببعضها. أنظمة مثل PostgreSQL وMySQL وSQLite وSQL Server كلها تفهم SQL، مع فروق صغيرة في التفاصيل. لذلك ما تتعلمه على نظام واحد ينتقل معك إلى البقية.
| تخصصك | لماذا تحتاج SQL |
|---|---|
| علوم الحاسب وهندسة البرمجيات | كل تطبيق ويب أو جوال يحتاج قاعدة بيانات، ومشروع التخرج غالباً منها |
| نظم المعلومات | تصميم قواعد البيانات واستعلامها جزء أساسي من المقررات |
| تحليل البيانات والإحصاء | أغلب بيانات الشركات في قواعد بيانات، وSQL أول أداة لسحبها |
| الإدارة والمالية والتسويق | تقارير المبيعات والعملاء تبدأ باستعلام، ومعرفته توفر عليك انتظار غيرك |

جهّز بيئتك في خمس دقائق
أسهل بداية هي SQLite. حسب موقعها الرسمي، هي مكتبة قاعدة بيانات كاملة في ملف واحد بدون خادم ولا إعدادات. ثبّت أداة مجانية تفتح ملفات SQLite، أو استخدم سطر الأوامر sqlite3، وأنشئ ملفاً جديداً. بعدها انسخ هذا الكود لتبني جدول طلاب صغيراً:
CREATE TABLE students (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
major TEXT,
gpa REAL,
city TEXT
);
INSERT INTO students (name, major, gpa, city) VALUES
('Sara', 'Computer Science', 4.6, 'Jeddah'),
('Faisal', 'Accounting', 3.9, 'Riyadh'),
('Noura', 'Computer Science', 4.1, 'Riyadh'),
('Omar', 'Nursing', 4.8, 'Jeddah'),
('Lama', 'Accounting', 3.2, 'Dammam');الاستعلامات الأساسية
هذه الاستعلامات تغطي أغلب ما ستكتبه في أول شهر. نفّذ كل واحد وتوقّع النتيجة قبل أن تراها، فهذا أسرع طريق لفهم اللغة:
-- كل الطلاب SELECT * FROM students; -- طلاب علوم الحاسب فقط SELECT name, gpa FROM students WHERE major = 'Computer Science'; -- أعلى المعدلات أولاً SELECT name, gpa FROM students ORDER BY gpa DESC LIMIT 3;
SELECT تحدد الأعمدة، وFROM تحدد الجدول، وWHERE تصفّي الصفوف، وORDER BY ترتب، وLIMIT تحدد العدد. ويمكنك دمج الشروط بـ AND وOR، واستخدام LIKE للبحث في النص.
-- متوسط المعدل وعدد الطلاب في كل تخصص
SELECT major,
COUNT(*) AS students,
ROUND(AVG(gpa), 2) AS avg_gpa
FROM students
GROUP BY major
HAVING COUNT(*) >= 2
ORDER BY avg_gpa DESC;GROUP BY تجمع الصفوف المتشابهة، ودوال مثل COUNT وAVG وSUM وMAX تحسب على كل مجموعة. والفرق المهم: WHERE تصفّي الصفوف قبل التجميع، وHAVING تصفّي المجموعات بعده.
ربط الجداول بـ JOIN
في قاعدة بيانات حقيقية لا تضع كل شيء في جدول واحد. تضع الطلاب في جدول، والمقررات في جدول، والتسجيل في جدول ثالث يربطهما. هنا تظهر قوة JOIN:
CREATE TABLE enrollments ( student_id INTEGER REFERENCES students(id), course TEXT, grade INTEGER ); INSERT INTO enrollments VALUES (1, 'Databases', 95), (1, 'Algorithms', 88), (3, 'Databases', 79), (4, 'Anatomy', 97); SELECT s.name, e.course, e.grade FROM students s JOIN enrollments e ON e.student_id = s.id WHERE e.course = 'Databases';
JOIN العادي يرجع الصفوف التي لها تطابق في الجدولين فقط. أما LEFT JOIN فيرجع كل الطلاب حتى من لم يسجل في أي مقرر، وتظهر أعمدة التسجيل عندهم فارغة (NULL). جرّب الاثنين وقارن النتيجة.
خطة ستة أسابيع
- الأسبوع 1: الجداول والاختيار
CREATE TABLE وINSERT وSELECT وWHERE وORDER BY على جدول الطلاب. اكتب عشرين استعلاماً بنفسك.
- الأسبوع 2: التجميع
COUNT وAVG وSUM وGROUP BY وHAVING. اسأل أسئلة عن بياناتك: أي مدينة فيها أعلى متوسط؟
- الأسبوع 3: JOIN
صمّم ثلاثة جداول مرتبطة لموضوع تعرفه، مثل مكتبة أو متجر صغير، واكتب استعلامات تربطها.
- الأسبوع 4: التعديل والقيود
UPDATE وDELETE والمفاتيح الأساسية والأجنبية وNOT NULL. تعلم لماذا تحتاج WHERE قبل أي DELETE.
- الأسبوع 5: بيانات حقيقية
أكمل دورة Intro to SQL من Kaggle المجانية، وهي تعطي شهادة إكمال وتستخدم مجموعات بيانات حقيقية.
- الأسبوع 6: مشروع صغير
صمّم قاعدة بيانات لتطبيق تحبه واكتب عشرة استعلامات تجيب عن أسئلة مفيدة، وارفعها على GitHub مع ملف README.

مصادر مجانية رسمية
- توثيق لغة SQL في SQLite: مرجع لكل أمر بأمثلة ومخططات.
- دليل PostgreSQL التعليمي: يشرح الجداول والاستعلامات والربط بلغة واضحة، ومناسب عندما تنتقل إلى نظام خادم.
- Kaggle Intro to SQL ثم Advanced SQL: دورتان مجانيتان بتمارين عملية وشهادة إكمال.
- أدوات JetBrains مجانية للطلاب وفيها أدوات لقواعد البيانات، وتجدها في البرامج المجانية للطلاب.
اجعل الذكاء الاصطناعي يدرّبك
بدلاً من أن يكتب لك الاستعلام، اطلب منه أن يعطيك تمارين على جدولك ويصحح محاولاتك. جرّب هذا الطلب مع ChatGPT أو Gemini:
I am learning SQL. Here is my table: students(id, name, major, gpa, city) and enrollments(student_id, course, grade). Give me 5 practice questions in plain English, from easy to hard, one at a time. Wait for my query, then tell me if it is correct, show the result it would return, and explain any mistake without rewriting the whole query.
- جيت براينز: جيت براينز تقدّم حزمة جيت براينز للطلاب لطلاب الجامعات في السعودية مجاناً.
- جيت هب: جيت هب تقدّم حزمة جيت هب للطلاب المطورين لطلاب الجامعات في السعودية مجاناً.
- جوجل للذكاء الاصطناعي: جوجل للذكاء الاصطناعي تقدّم Google AI Plus مجانًا لمدة سنة لطلاب الجامعات في السعودية.
أخطاء شائعة
- كتابة DELETE أو UPDATE بدون WHERE، فتتغير كل الصفوف. اكتب SELECT بنفس الشرط أولاً وتأكد من النتيجة.
- استخدام = للمقارنة مع NULL. الصحيح IS NULL أو IS NOT NULL.
- وضع شرط على نتيجة COUNT في WHERE بدل HAVING.
- اختيار SELECT * في كل استعلام. حدد الأعمدة التي تحتاجها فقط.
- حفظ كل البيانات في جدول واحد ضخم بدل تقسيمها إلى جداول مرتبطة.
SQL هي الخطوة الأولى في خارطة تعلم تحليل البيانات، وتحتاجها مع جافا سكربت عندما تبني تطبيقاً يحفظ بيانات المستخدمين. وإذا كنت في علوم الحاسب فاقرأ أيضاً الذكاء الاصطناعي لطلاب علوم الحاسب.





