طرق وضع تعليقات في قواعد بيانات MySQL
هناك ثلاث خيارات لوضع تعليقات في قواعد بيانات MySQL و هي كالتالي:
إستخدام الرمز -- بعده تضع التعليق لوضع تعليق على سطر واحد.
إستخدام الرمز /* بداخله تضع التعليق */ لوضع تعليق يتألف من عدة أسطر.
هناك ثلاث خيارات لوضع تعليقات في قواعد بيانات MySQL و هي كالتالي:
إستخدام الرمز -- بعده تضع التعليق لوضع تعليق على سطر واحد.
إستخدام الرمز /* بداخله تضع التعليق */ لوضع تعليق يتألف من عدة أسطر.
❤1
في المثال التالي إستخدمنا الرمز /* .. */ لوضع تعليق واحد يتألف من عدة أسطر.
/*
marks و الجدول students هذا الإستعلام يقوم بجلب معلومات طالب موزعة في الأساس بداخل جدولين هما الجدول
و إسم و علامات كل طالب معدله أكثر من 80 id فكرة هذا الإستعلام أنه يجلب رقم
بتفصيل ممل لاحقاً SQL ركز على طريقة وضع التعليق و ليس على طريقة عمل الكود لأننا سنشرح لك أوامر
*/
SELECT s.studentid, s.name, s.total_marks
FROM student s, marks m
WHERE s.studentid = m.studentid
AND m.total_marks > 80;
/*
marks و الجدول students هذا الإستعلام يقوم بجلب معلومات طالب موزعة في الأساس بداخل جدولين هما الجدول
و إسم و علامات كل طالب معدله أكثر من 80 id فكرة هذا الإستعلام أنه يجلب رقم
بتفصيل ممل لاحقاً SQL ركز على طريقة وضع التعليق و ليس على طريقة عمل الكود لأننا سنشرح لك أوامر
*/
SELECT s.studentid, s.name, s.total_marks
FROM student s, marks m
WHERE s.studentid = m.studentid
AND m.total_marks > 80;
التسمية البديلة Alias في SQL وضع أسماء مختصرة للجداول او الاعمدة
الكلمة AS مع الجداول
طريقة وضع أسماء مختصرة للجداول حين تجلب المعلومات من أكثر من جدول في نفس الوقت حتى لا تضطر إلى كتابة إسم الجدول كما هو كلما أردت الإشارة إلى عمود موجود فيه.
لوضع إسم مختصر للجدول نضع AS بعد إسم الجدول و من ثم ندخل الإسم المختصر له
بعد وضع إسم مختصر للجدول، تصبح قادر على استخدام الإسم المختصر للوصول لأعمدته.
SELECT StudentID, FirstName, Course, Lecturer
FROM students st
LEFT JOIN courses co
ON st.CourseID = co.CourseID;
سُمي الجدول students باسم st والجدول courses باسم co وذلك تسهيلًا لعملية الربط بين الجدولين.
الكلمة AS مع الجداول
طريقة وضع أسماء مختصرة للجداول حين تجلب المعلومات من أكثر من جدول في نفس الوقت حتى لا تضطر إلى كتابة إسم الجدول كما هو كلما أردت الإشارة إلى عمود موجود فيه.
لوضع إسم مختصر للجدول نضع AS بعد إسم الجدول و من ثم ندخل الإسم المختصر له
بعد وضع إسم مختصر للجدول، تصبح قادر على استخدام الإسم المختصر للوصول لأعمدته.
SELECT StudentID, FirstName, Course, Lecturer
FROM students st
LEFT JOIN courses co
ON st.CourseID = co.CourseID;
سُمي الجدول students باسم st والجدول courses باسم co وذلك تسهيلًا لعملية الربط بين الجدولين.
أمثلة
SELECT Name AS NameStudents, Age, GPA
FROM students
سيظهر العمود Name باسم NameStudents في النتائج. وفي الاستعلام:
SELECT Name AS NameStudents, Age, GPA
FROM students
سيظهر العمود Name باسم NameStudents في النتائج. وفي الاستعلام:
التسمية البديلة Alias في SQL.docx
78 KB
سوف ارفق لكم ملف فيه شرح للموضوع مع امثله وقاعده بيانات بسيطة للتطبيق
فيه
وضع أسماء مختصرة للجداول
الكلمة AS مع الجداول
تجهيز قاعدة البيانات التي سوف نطبق عليها
متى نحتاج وضع أسماء مختصرة؟
أمثلة على وضع أسماء مختصرة للجداول
فيه
وضع أسماء مختصرة للجداول
الكلمة AS مع الجداول
تجهيز قاعدة البيانات التي سوف نطبق عليها
متى نحتاج وضع أسماء مختصرة؟
أمثلة على وضع أسماء مختصرة للجداول
👍3
📝 تمرين
لديك جدول customers
يحتوي على:
id, name, city, created_at
المطلوب:
عرض أسماء العملاء من مدينة Riyadh فقط.
اكتب الاستعلام.
لديك جدول customers
يحتوي على:
id, name, city, created_at
المطلوب:
عرض أسماء العملاء من مدينة Riyadh فقط.
اكتب الاستعلام.
👍1
📘 حل التمرين + تحليل
الحل:
SELECT name
FROM customers
WHERE city = 'Riyadh';
لكن السؤال الأهم:
لماذا لم نستخدم SELECT * ؟
لأننا لا نحتاج كل الأعمدة.
المحترف يحدد ما يحتاجه فقط.
الحل:
SELECT name
FROM customers
WHERE city = 'Riyadh';
لكن السؤال الأهم:
لماذا لم نستخدم SELECT * ؟
لأننا لا نحتاج كل الأعمدة.
المحترف يحدد ما يحتاجه فقط.
مفهوم JOIN (فهم عميق)
📘 ما هو JOIN فعلاً؟
JOIN ليس مجرد ربط جدولين.
JOIN هو:
إعادة بناء صورة كاملة من بيانات موزعة.
عندما تفصل البيانات في جداول،
أنت تحتاج وسيلة لإعادة جمعها.
JOIN هو هذه الوسيلة.
📘 ما هو JOIN فعلاً؟
JOIN ليس مجرد ربط جدولين.
JOIN هو:
إعادة بناء صورة كاملة من بيانات موزعة.
عندما تفصل البيانات في جداول،
أنت تحتاج وسيلة لإعادة جمعها.
JOIN هو هذه الوسيلة.
تطبيق عملي واضح
لدينا جدول orders
وجدول customers
SELECT customers.name, orders.total
FROM orders
JOIN customers
ON orders.customer_id = customers.id;
ما الذي حدث هنا؟
- ربطنا الطلب بالعميل
- جمعنا بيانات من مصدرين
- أعدنا تكوين المعلومة
لدينا جدول orders
وجدول customers
SELECT customers.name, orders.total
FROM orders
JOIN customers
ON orders.customer_id = customers.id;
ما الذي حدث هنا؟
- ربطنا الطلب بالعميل
- جمعنا بيانات من مصدرين
- أعدنا تكوين المعلومة
خطأ شائع في JOIN
نسيان شرط الربط الصحيح.
إذا كان ON غير صحيح،
ستحصل على نتائج مضاعفة أو خاطئة.
JOIN ليس خطيراً،
لكن استخدامه بدون فهم خطير.
نسيان شرط الربط الصحيح.
إذا كان ON غير صحيح،
ستحصل على نتائج مضاعفة أو خاطئة.
JOIN ليس خطيراً،
لكن استخدامه بدون فهم خطير.
📝 تمرين:
لديك جدول products
وجدول order_items
اكتب استعلاماً يعرض:
اسم المنتج + الكمية المباعة.
لديك جدول products
وجدول order_items
اكتب استعلاماً يعرض:
اسم المنتج + الكمية المباعة.
بيكون الشرح عبر مراحل المرحلة التالية هي
من عرض البيانات إلى تحليلها (GROUP BY & HAVING)
من عرض البيانات إلى تحليلها (GROUP BY & HAVING)
📘 الدرس: لماذا نستخدم GROUP BY؟
حتى الآن، كنا نعرض بيانات.
لكن في الواقع،
نحن لا نريد البيانات نفسها…
نريد: تحليلها.
مثال:بدلاً من:عرض كل الطلبات
نريد:كم عدد الطلبات لكل عميل؟
أو: إجمالي المبيعات لكل مدينة؟
هنا يأتي دور GROUP BY
GROUP BY تعني:
تجميع البيانات حسب معيار معين
ثم تطبيق عملية عليها (مثل COUNT أو SUM)
مثال بسيط:
كم عدد الطلبات لكل عميل؟
❓ السؤال لك: هل ترى الفرق بين "عرض البيانات"
و "تحليل البيانات"؟
حتى الآن، كنا نعرض بيانات.
لكن في الواقع،
نحن لا نريد البيانات نفسها…
نريد: تحليلها.
مثال:بدلاً من:عرض كل الطلبات
نريد:كم عدد الطلبات لكل عميل؟
أو: إجمالي المبيعات لكل مدينة؟
هنا يأتي دور GROUP BY
GROUP BY تعني:
تجميع البيانات حسب معيار معين
ثم تطبيق عملية عليها (مثل COUNT أو SUM)
مثال بسيط:
كم عدد الطلبات لكل عميل؟
❓ السؤال لك: هل ترى الفرق بين "عرض البيانات"
و "تحليل البيانات"؟
👍1
📘 اليوم التطبيق العملي
📘 التطبيق العملي على GROUP BY
لدينا جدول orders:
order_id | customer_id | total
نريد:
عدد الطلبات لكل عميل
SELECT customer_id, COUNT(*) AS total_orders
FROM orders
GROUP BY customer_id;
ما الذي حدث؟
1- جمعنا البيانات حسب customer_id
2- حسبنا عدد الطلبات لكل مجموعة
النتيجة:
كل عميل + عدد طلباته
مثال آخر:
إجمالي المبيعات لكل عميل:
SELECT customer_id, SUM(total) AS total_sales
FROM orders
GROUP BY customer_id;
الآن بدأنا نحلل البيانات فعلاً.
❓ أيهما أهم برأيك:
COUNT أم SUM في عملك؟
📘 التطبيق العملي على GROUP BY
لدينا جدول orders:
order_id | customer_id | total
نريد:
عدد الطلبات لكل عميل
SELECT customer_id, COUNT(*) AS total_orders
FROM orders
GROUP BY customer_id;
ما الذي حدث؟
1- جمعنا البيانات حسب customer_id
2- حسبنا عدد الطلبات لكل مجموعة
النتيجة:
كل عميل + عدد طلباته
مثال آخر:
إجمالي المبيعات لكل عميل:
SELECT customer_id, SUM(total) AS total_sales
FROM orders
GROUP BY customer_id;
الآن بدأنا نحلل البيانات فعلاً.
❓ أيهما أهم برأيك:
COUNT أم SUM في عملك؟
👍1
📝 اليوم — تمرين
📝 تمرين اليوم:
لدينا جدول orders يحتوي على:
order_id, customer_id, total
المطلوب:
1- حساب عدد الطلبات لكل عميل
2- حساب إجمالي المبيعات لكل عميل
حاول كتابة الاستعلام بنفسك قبل رؤية الحل.
لا تستعجل… التفكير أهم من الحل.
📝 تمرين اليوم:
لدينا جدول orders يحتوي على:
order_id, customer_id, total
المطلوب:
1- حساب عدد الطلبات لكل عميل
2- حساب إجمالي المبيعات لكل عميل
حاول كتابة الاستعلام بنفسك قبل رؤية الحل.
لا تستعجل… التفكير أهم من الحل.
👍2
📘 اليوم — الحل + التحليل الاحترافي
📘 حل التمرين
الحل الأول:
SELECT customer_id, COUNT(*) AS total_orders
FROM orders
GROUP BY customer_id;
الحل الثاني:
SELECT customer_id, SUM(total) AS total_sales
FROM orders
GROUP BY customer_id;
---
التحليل:
لماذا استخدمنا GROUP BY؟
لأننا لا نريد كل الطلبات،
بل نريد نتيجة مجمعة لكل عميل.
الخطأ الشائع:
كتابة COUNT بدون GROUP BY
وهذا يعطي نتيجة واحدة فقط.
---
معلومة مهمة:
GROUP BY بدون فهم
يعطي نتائج مضللة.
📘 حل التمرين
الحل الأول:
SELECT customer_id, COUNT(*) AS total_orders
FROM orders
GROUP BY customer_id;
الحل الثاني:
SELECT customer_id, SUM(total) AS total_sales
FROM orders
GROUP BY customer_id;
---
التحليل:
لماذا استخدمنا GROUP BY؟
لأننا لا نريد كل الطلبات،
بل نريد نتيجة مجمعة لكل عميل.
الخطأ الشائع:
كتابة COUNT بدون GROUP BY
وهذا يعطي نتيجة واحدة فقط.
---
معلومة مهمة:
GROUP BY بدون فهم
يعطي نتائج مضللة.
الخطوة القادمة:
ماذا لو أردنا عرض العملاء
الذين لديهم أكثر من 5 طلبات فقط؟
هنا نحتاج مفهوم جديد:
HAVING
سنبدأ به في الدرس القادم.
ماذا لو أردنا عرض العملاء
الذين لديهم أكثر من 5 طلبات فقط؟
هنا نحتاج مفهوم جديد:
HAVING
سنبدأ به في الدرس القادم.
تحديث مهم بخصوص خطة القناة
خلال الفترة القادمة سيتم إيقاف السلسلة الحالية مؤقتًا، والانتقال إلى مسار جديد أكثر احترافية وتركيزًا على قواعد بيانات وأنظمة ERP العملية.
الهدف من هذه الخطوة هو تقديم محتوى أقرب لبيئة العمل الحقيقية، يساعد على فهم تصميم الأنظمة الإدارية وتحليل قواعد البيانات بشكل عملي واحترافي.
بإذن الله ستكون المرحلة القادمة أقوى وأكثر فائدة لكل المهتمين بمجال قواعد البيانات وتطوير الأنظمة 🚀
خلال الفترة القادمة سيتم إيقاف السلسلة الحالية مؤقتًا، والانتقال إلى مسار جديد أكثر احترافية وتركيزًا على قواعد بيانات وأنظمة ERP العملية.
الهدف من هذه الخطوة هو تقديم محتوى أقرب لبيئة العمل الحقيقية، يساعد على فهم تصميم الأنظمة الإدارية وتحليل قواعد البيانات بشكل عملي واحترافي.
بإذن الله ستكون المرحلة القادمة أقوى وأكثر فائدة لكل المهتمين بمجال قواعد البيانات وتطوير الأنظمة 🚀
هذه الخطة مبنية على 3 مبادئ:
كل درس = جزء من مشروع
كل يوم = مخرجات ملموسة
كل 3 أيام = تفاعل + Challenge
كل درس = جزء من مشروع
كل يوم = مخرجات ملموسة
كل 3 أيام = تفاعل + Challenge
🚀 بداية مشروع احترافي على القناة
إذا كنت تعرف أساسيات SQL لكن لا تعرف كيف تبني نظام حقيقي…
فهذا هو التحول الذي كنت تنتظره 👇
🔥 ابتداءً من اليوم:
سنبني معًا نظام ERP متكامل باستخدام SQL Server
❌ لا يوجد شرح عشوائي
❌ لا يوجد نظريات بدون تطبيق
بل:
✅ مشروع حقيقي خطوة بخطوة
✅ من مستوى متوسط → احتراف
✅ كل درس = جزء من النظام
---
🎯 ماذا سنبني؟
نظام يحتوي على:
- إدارة العملاء (Customers)
- المنتجات (Products)
- الطلبات (Orders)
- المخزون (Inventory)
- الموظفين (HR)
---
💡 الهدف النهائي:
تحويلك من:
"شخص يعرف SQL"
إلى:
"شخص يبني أنظمة حقيقية"
---
📅 الخطة:
30 يوم = نظام كامل + مهارات احترافية
---
🔥 إذا أنت جاد: ابد اليوم
إذا كنت تعرف أساسيات SQL لكن لا تعرف كيف تبني نظام حقيقي…
فهذا هو التحول الذي كنت تنتظره 👇
🔥 ابتداءً من اليوم:
سنبني معًا نظام ERP متكامل باستخدام SQL Server
❌ لا يوجد شرح عشوائي
❌ لا يوجد نظريات بدون تطبيق
بل:
✅ مشروع حقيقي خطوة بخطوة
✅ من مستوى متوسط → احتراف
✅ كل درس = جزء من النظام
---
🎯 ماذا سنبني؟
نظام يحتوي على:
- إدارة العملاء (Customers)
- المنتجات (Products)
- الطلبات (Orders)
- المخزون (Inventory)
- الموظفين (HR)
---
💡 الهدف النهائي:
تحويلك من:
"شخص يعرف SQL"
إلى:
"شخص يبني أنظمة حقيقية"
---
📅 الخطة:
30 يوم = نظام كامل + مهارات احترافية
---
🔥 إذا أنت جاد: ابد اليوم
👍3
📌 Lesson 1: كيف يفكر نظام ERP؟
#Day1 #ERP_Project
قبل كتابة كود، افهم عمل النظام:
🛒 السيناريو:
1️⃣ اختيار المنتج
2️⃣ إنشاء طلب (Order)
3️⃣ إضافة التفاصيل
4️⃣ خصم الكمية من المخزون
5️⃣ تسجيل العملية
💡 هذا يسمى: Business Flow (تدفق العمل)
🎯 مهمتك كمطور:
ليس فقط SQL ❌ بل تحويل السيناريو إلى: جداول + علاقات + منطق
📊 العناصر الأساسية:
- Customers
- Products
- Orders
- Inventory
🔥 Challenge:
هل العميل يمكن أن يملك أكثر من طلب؟ ولماذا؟
💬 اكتب إجابتك في التعليقات
#Day1 #ERP_Project
قبل كتابة كود، افهم عمل النظام:
🛒 السيناريو:
1️⃣ اختيار المنتج
2️⃣ إنشاء طلب (Order)
3️⃣ إضافة التفاصيل
4️⃣ خصم الكمية من المخزون
5️⃣ تسجيل العملية
💡 هذا يسمى: Business Flow (تدفق العمل)
🎯 مهمتك كمطور:
ليس فقط SQL ❌ بل تحويل السيناريو إلى: جداول + علاقات + منطق
📊 العناصر الأساسية:
- Customers
- Products
- Orders
- Inventory
🔥 Challenge:
هل العميل يمكن أن يملك أكثر من طلب؟ ولماذا؟
💬 اكتب إجابتك في التعليقات