تعلم قواعد بيانات SQL Database
1.79K subscribers
84 photos
3 videos
26 files
38 links
📘 تعلم قواعد بيانات SQL بأسلوب مبسط
🛠 شرح عملي + أمثلة وتمارين
🎯 للمبتدئين وطلاب IT
📅 دروس منتظمة
تعلم اليوم وطبّق غداً
Download Telegram
مفهوم JOIN (فهم عميق)
1
📘 ما هو JOIN فعلاً؟
JOIN ليس مجرد ربط جدولين.
JOIN هو:
إعادة بناء صورة كاملة من بيانات موزعة.

عندما تفصل البيانات في جداول،
أنت تحتاج وسيلة لإعادة جمعها.

JOIN هو هذه الوسيلة.
1
تطبيق عملي
لدينا جدول orders
وجدول customers
SELECT customers.name, orders.total
FROM orders
JOIN customers
ON orders.customer_id = customers.id;

ما الذي حدث هنا؟
- ربطنا الطلب بالعميل
- جمعنا بيانات من مصدرين
- أعدنا تكوين المعلومة
1👍1
خطأ شائع في JOIN
خطأ شائع:
نسيان شرط الربط الصحيح.
إذا كان ON غير صحيح،
ستحصل على نتائج مضاعفة أو خاطئة.
JOIN ليس خطيراً،
لكن استخدامه بدون فهم خطير.
1
سلام الله عليكم ان شاء الله نستمر بهذ الطريقه اتمنى من الجميع التطبيق
والذي عنده معلومات يشاركنا لكي يستفيد الجميع❤️
1
التعليقات Comments
تضاف التعليقات إلى الشيفرة بهدف تسهيل قراءتها أو كتابة ملاحظات جانبية مساعدة.

SELECT count(*); -- This comment continues to the end of line
SELECT count(*); /* This is an inline comment */;
وضع تعليقات لا يؤثر على الأوامر الموضوعة في الإستعلام حيث أن مفسّر الإستعلامات ينفذ الأوامر فقط و يتجاهل التعليقات.

طرق وضع تعليقات في قواعد بيانات MySQL
هناك خيارات لوضع تعليقات في قواعد بيانات 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;
التسمية البديلة 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 وذلك تسهيلًا لعملية الربط بين الجدولين.
أمثلة
SELECT Name AS NameStudents, Age, GPA
FROM students
سيظهر العمود Name باسم NameStudents في النتائج. وفي الاستعلام:
التسمية البديلة Alias في SQL.docx
78 KB
سوف ارفق لكم ملف فيه شرح للموضوع مع امثله وقاعده بيانات بسيطة للتطبيق
فيه
وضع أسماء مختصرة للجداول
الكلمة AS مع الجداول
تجهيز قاعدة البيانات التي سوف نطبق عليها
متى نحتاج وضع أسماء مختصرة؟
أمثلة على وضع أسماء مختصرة للجداول
👍3
📝 تمرين

لديك جدول customers
يحتوي على:
id, name, city, created_at

المطلوب:
عرض أسماء العملاء من مدينة Riyadh فقط.

اكتب الاستعلام.
👍1
📘 حل التمرين + تحليل
الحل:
SELECT name
FROM customers
WHERE city = 'Riyadh';
لكن السؤال الأهم:
لماذا لم نستخدم SELECT * ؟
لأننا لا نحتاج كل الأعمدة.
المحترف يحدد ما يحتاجه فقط.
مفهوم JOIN (فهم عميق)
📘 ما هو JOIN فعلاً؟
JOIN ليس مجرد ربط جدولين.
JOIN هو:
إعادة بناء صورة كاملة من بيانات موزعة.
عندما تفصل البيانات في جداول،
أنت تحتاج وسيلة لإعادة جمعها.
JOIN هو هذه الوسيلة.
تطبيق عملي واضح
لدينا جدول orders
وجدول customers

SELECT customers.name, orders.total
FROM orders
JOIN customers
ON orders.customer_id = customers.id;

ما الذي حدث هنا؟

- ربطنا الطلب بالعميل
- جمعنا بيانات من مصدرين
- أعدنا تكوين المعلومة
خطأ شائع في JOIN
نسيان شرط الربط الصحيح.

إذا كان ON غير صحيح،
ستحصل على نتائج مضاعفة أو خاطئة.

JOIN ليس خطيراً،
لكن استخدامه بدون فهم خطير.
📝 تمرين:

لديك جدول products
وجدول order_items

اكتب استعلاماً يعرض:
اسم المنتج + الكمية المباعة.
بيكون الشرح عبر مراحل المرحلة التالية هي
من عرض البيانات إلى تحليلها (GROUP BY & HAVING)
📘 الدرس: لماذا نستخدم GROUP BY؟
حتى الآن، كنا نعرض بيانات.
لكن في الواقع،
نحن لا نريد البيانات نفسها…
نريد: تحليلها.
مثال:بدلاً من:عرض كل الطلبات
نريد:كم عدد الطلبات لكل عميل؟

أو: إجمالي المبيعات لكل مدينة؟
هنا يأتي دور 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 في عملك؟
👍1