الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

الدرس الثانى

Featured Replies

بتاريخ:

بسم الله الرحمن الرحيم



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

أود أن أبدأ بما انتهيت به فى الدرس السابق ألا وهو أنواع جمل الـ SQL

Select – DML- DDL- BCL- T.C

أن شاء الله أول 7 فصول عن الـ Select فقط. و الفصل الثامن سوف يكون DML أما التاسع DDL وهكذا حتى نصل أن شاء الله إلى الـT.C. و الأن هيا بنا الى الدرس ..

Retrieving Data Using the SQL SELECT Statement



أولاً ما معنى كلمة Select؟ معناها اختيار.. أى أنه بكتابة كود يبدأ بكلمة Select هذا يعنى اننى اريد استرجاع بيانات من جدول داخل قاعدة البيانات التى تعمل عليها .. أى استعلام و هناك بعض الصيغ لجملة الـSelect أو بمعنى اخر طرق فى استخدام الجملة .. وهذه الطرق 3 وهى كما يلى:-
1- Projection:-

وهى عبارة عن جملة Select بدون أى شرط مثل أن أقول أريد استرجاع اسم الموظف وراتبه. اذا النتيجة سوف تكون كل الجدول لانى لم أحدد شخص معين( لم أضع شرط ). ولذلك يتم استرجاع عمود الاسم كامل وعمود الراتب كامل وليس صفوف محدده .

2- Selection:-

وهنا يتم كتابة جملة الـ SQL وبها شرط مثل أن اقول أريد اسم الموظف والمرتب بشرط أن يكون اسم الموظف سامح بكار. هنا يتم استرجاع صفوف معينه وليس العمود بالكامل.

3- Join

وهنا فى جملة الـ Select يتم استرجاع البيانات من جدولين او أكثر بينهما علاقه مثل ان اقول أريد استرجاع اسم الموظف من جدول الموظفين واسم القسم الخاص به ولكن من جدول الأقسام.
وسوف يتم مناقشة النوع الأول بالفصل الأول أما النوع الثانى وهو الـSelection سوف يتم مناقشته فى الفصول 2-3-4 أما الـJoin فى الفصل الخامس.

Projction

والآن دعنا نبدأ مع النوع الأول لنتعرف على كيفية كتابة كود الـSQL

**** قبل البدء هناك سؤال على الجزء السابق من أخر نسخه لأمتحان ( 007.)

Evaluate this SQL statement. 
SELECT e.EMPLOYEE_ID,e.LAST_NAME,e.DEPARTMENT_ID, d.DEPARTMENT_NAME FROM EMP e, DEPARTMENT d WHERE e.DEPARTMENT_ID = d.DEPARTMENT_ID; In the statement, which capabilities of a SELECT statement are performed? 
A. Selection, projection, join 
B. Difference, projection, join 
C. Selection, intersection, join 
D. Intersection, projection, join 
E. Difference, projection, product 



طبعا الأجابه واضحه جدا ( A ) ...... هذا لتتأكد أن الأمتحان أسهل ما يكون طالما انك مذاكر كويس .

** طبعا مهم جدا ان تتعرف على قاعدة البيانات التى أمامك حتى تتمكن من عمل جمل الSelect عليها لذلك فأبدأ اولا بهذا الأمر و الذى سوف يظهر لك الجدوال الموجوده بقاعده البيانات حتى نستطيع جلب البيانات منها:

Select	  *
From	  Tab;



الكود الثانى يجب ان يكون وصف هيكل كل جدول من الجداول التى امامك كما يلى:

Desc Table Name


بعد ذلك نتجه الى كيفيه كتابة جمله ال Select >>>

SELECT *|{[DISTINCT] column|expression [alias],...}
FROM	table;


SELECT identifies the columns to be displayed**
FROM identifies the table containing those columns**

مثال : اريد جلب كافة البيانات الموجوده بجدول الأقسام .. اذا تكون جملة الSelect كما يلى :

SELECT *
FROM   departments;



أما اذا اردت جلب أعمده معينه فعليك بتحديد اسماء هذه الأعمده بعد كلمة Select كما يلى:

SELECT department_id, location_id
FROM   departments;




تعريفات هامة :
-----------------

- Statement
وهى عباره عن الجمله كامله ابتداءأ من أول كلمه بها الى نهايتها.

- Keyword
عباره عن كلمه محجوزه لأوراكل فقط مثل كلمة Select و كلمه Form .

- Clause
عباره عن السطر كامل بعد ال Keyword .

** >>> ملاحظات هامة جداً عند كتابة جملة SQL

1)لافرق إذا كتبت جملة الـSQL حروف كبيرة أو صغيرة أى أن الجمله (not case sensitive) ولكن يفضل كتابة الـKey.Word بحروف كبيرة.

2)يمكن كتابة الجملة على سطر واحد أو اكثر ولكن بفضل كتابة الجملة على اكثر من سطر حتى يسهل لك اكتشاف الأخطاء.

3)يفضل فى كتابة الجملة عمل مسافات متباعدة بين الـKey Word والجملة نفسها كما يلى:

Select	   last_name , Salary
From	   Employees;



هذا يسهل قراءة الكود >

4)لابد من كتابة Semicolon فى نهاية الجملة. هذا واجب اذا كنت تعمل على بيئة الـ SQL Plus. أما فى الـISQL فليس شرط ولكنه يفضل حتى تتعود.

** استخدام العمليات الحسابية فى جملة الـSelect
------------------------------------------------------

SELECT last_name, salary, salary + 300
FROM   employees;



فى المثال السابق تم ظهور عمود جديد ولكنه ليس له وجود فى الجدول بقاعدة البيانات. فقط هو للعرض لا أكثر لذلك يسمى Expression ويجب علينا هنا معرفة أولويات العمليات الحسابية

1) الآسس 2) الأقواس 3) الضرب أو القسمة 4) الجمع أو الطرح

وهذا مثال لتوضيح أن كتابة الكود واحد ولكن اختلفت النتيجة لوجود الأقواس التى لها الأولويه

SELECT last_name, salary, 12*salary+100
FROM   employees;


SELECT last_name, salary, 12*(salary+100)
FROM   employees;
[code]



** ما معنى null Value
--------------------------

- عباره عن قيمة غير معروفة لاهى صفر ولا هى مسافة واذا أشتركت فى اى عملية حسابية كانت النتيجة null . عمود العموله فى جدول الموظفين فهو يقبل قيم فارغه .. كما فى المثال التالى:


SELECT last_name, job_id, salary, commission_pct
FROM employees;


انظر الى نتيجه المثال التالى على جهازك  فسوف تجد مثلا ان الموظف King ليس له عموله( null) وعندما تم ضرب المرتب X العمولة كانت النتيجة null وهذا خطأ. لذلك يجب تحويل الـnull الى قيمة حقيقية اى الى صفر وهذا فى الدرس الثالث ان شاء الله.


SELECT last_name, 12*salary*commission_pct
FROM employees;



Alias الأسماء المستعارة 
----------------------------

هو تسمية لرؤوس الأعمدة ولكن للعرض فقط وليس على الجداول الفعلية أما اذا اردت أن اقوم بعمل اعادة تسمية لعمود بالجدول فهذا من اوامر الـDDL وهو Rena me ولكنا الآن بصدد تغير اسم العمود أثناء العرض فقط هذا يسمى Alias.

-الاسم المستعار مفيد جداً فى العمليات الحسابية اقصد عندما استخرج عمود Experessn 
-	
-الاسم المستعار يتبع اسم العمود مباشرة فى جملة الـSelect دون أى فواصل ويمكن الفصل بكلمة AS ولكنها اختيارى.

-لايجوز كتابة اسم مستعار به مسافات أو حروف خاصة مثل # أو *  أو $ ولكن اذا اردت ضع الاسم المستعار بين double quotation ليظهر الاسم المستعار كما كتبيته حتى لو كانت الحروف Capital 


أمثلة:- (رجاء كتابة كل الأمثله بيدك)

SELECT last_name "Name" , salary*12 "Annual Salary"
FROM employees;

SELECT last_name AS name, commission_pct comm
FROM employees;



** الدمج ما بين عمودين ( || )
----------------------------------

مثل أريد أن أظهر اسم الموظف بجانب راتبه هنا لابد أن اربط الاسم بالراتب عن طريق الـ Vertical Bar 
وهى موجوده على لوحة المفتايح عندى على الزر(  /  ) جنب Backspace ربما عندك على زر آخر

مثال :


SELECT last_name||job_id AS "Employees"
FROM employees;



** الـ Literal 
--------------------------
أى حرف أو رقم أو تاريخ موجود بجملة Select وليس عمود أو K.W نسميه Literal أو لابد من وضعه بين '	 ' Single quotation 

مثـــأل 


SELECT last_name ||' is a '||job_id
AS "Employee Details"
FROM employees;



جزء نظرى.أخر جزء فى هذا الدرس نظرى و يمكنك مذاكرته وحدك من الصفحه و هذا الجزء النظرى يتكلم عن الفرق بين ال SQL و ISQL و كيفية استخدام ال ISQL .


أخوانى الأعزاء رجاء كتابه اى سؤال بخصوص الدرس الأول على هذا الرابط . هذا الرابط متاح فقط للأسئله و ليس للتعليقات و سوف يكون لكل درس رابط خاص بالأسئله المرتبطه به حتى نشعر بروح الجماعه فى الكورس ....

أسئلة و أستفسارات الدرس الثانى ... للأسئله فقط

** المرفقات : الدرس الأول - مجموعه أمثله بسيطه على الدرس
** الواجب : حل التطبيقات الموجوده على الدرس الأول رقم ( من 6 الى 12 )
لا تنسى للمذاكره من الملف المرفق ان تفتع المف فى برنامج الـPowerpoint ثم قائمة View ثم أختار Note page و ذلك حتى تتمكن من رؤية الشرح للجزء النظرى و كذلك حل التطبيقات ...

الى اللقاء فى الدرس الثالث و هو :
Restricting and Sorting Data

لا تنسونى بدعوه خالصه من القلب ... اللهم أعصمنى من الفتن ما ظهر منها و ما بطن .آمين ......



عفوا أخوانى لظهور الشرح مكان الكود ... نأسف لهذا العطل الفنى و لكن لا تنسوا حل الواجب... فى انتظار اى سؤال او استفسار على رابط الأسئله...

Bakkar.zip

بتاريخ:

السلام عليكم؟

كنت منتظر الدرس بفارغ الصبر.
الله يوفقك ويسهل أمرك .

ةتسلم على هذه الدروس يا معلم

بتاريخ:

أستاذي الفاضل أحب أن أنبه إن الملف لا يعمل
أرجوا ان تعيد تحمليه مرررة أخرررى
ولك جزيل الشكر والعرفان

محبكم,,

بتاريخ:

شكرا لك اخي مره اخرى
وجزاك الله خير لما تفعل
وفقك الله لما فيه الخير دائما

بتاريخ:
  • كاتب الموضوع

المبرمج الصاعد المف يعمل جيدا ........

بتاريخ:

الســـــــــلام عليكم

بارك الله فيك أخي سامح, شرح ولا أروع, أتمنى لك مزيداً من التقدم والازدهار ...

بتاريخ:

السلام عليكم

اذا اردت تطبيق هذه الاوامر بشكل عملي فكيف السبيل الى ذلك

الا نحتاج الى قاعدة بيانات لاظهار النتائج

و شكرا

بتاريخ:

جزاك الله خيرا يا اخى وزادك من علموا يارب العالمين

بتاريخ:

اسال الله ان يبارك لك بعلمك

بتاريخ:

thanks mr for ur effort
sameh bakkar
but can i ask you to put for us an oracle book&material for that track
i ask u before in another topic but i think u didn't notice it

thanks

بتاريخ:

درس جميل و جزاك الله كل خير

بتاريخ:

الله يعطيك العافية يا مهندس سامح والله يقويك

بتاريخ:

جزاك الله الجنة و والديك أخونا الكريم سامح ..
حقيقة شرح وافي و رائع .. مجهود تشكر جدا عليه..

جَعَلَ الله ما تكتب و تبذل من جهد و وقت و تفكير و تعب في ميزان حسناتك..

"اللهم أعصمنى من الفتن ما ظهر منها و ما بطن .آمين ......"
اللهم آمين ..
و أسأل الله أن يصلح لك دينك الذي هو عصمة أمرك..
و أن يصلح لك دنياك التي فيها معاشك..
و أن يصلح لك آخرتك التي إليها معادك..
و أن يجعل الحياة زيادة لك في كل خير..
و الموت راحة لك من كل شر..
و أن يتوفاك و هو راض عنك..

بتاريخ:

ألف شكر وانا ان شاء الله احصلكم

بتاريخ:

مش فاهم شوية

  • بعد 2 شهور...
بتاريخ:

السلام عليكم ورحمه الله و بركاتة انا بجد فخور بهذا العمل الجيد و ان شاء الله فى تقدم يا بشمهندس سامح
ولاكن لى رجاء انا مش عارف انزل المرفقات من المنتدى فا ارجوا ان تقوم برفع جميع الدروس فى رابط واحد على اى موقع من مواقع الاستضافة و اكون شاكر ليك جدا او اذا لم تكون عندك وقت ارجوا من اصدقائى فى المنتدى ان يرفعهم احد لى لاننى كل ما احاول ان احمل اى من هذه الملفات لا يكمل التحميل
وشكرا على كل من ساهم

  • بعد 2 أسابيع...
بتاريخ:

thank you very much

  • بعد 1 شهر...
بتاريخ:

السلام عليكم... استاذ سامح
لكن الملفات المرفقة لا تعمل.. اذا انزلتها فما المشكلة؟؟؟

شاكرين جهودكم

بتاريخ:

سلام عليكم ورحمة الله وبركاته
يا شباب احب اعرف جزئية مش واضحة في الشرح وهية الجزئية الخاصة SEMICOLON في ISQL& SQL PLUS هل هي ضروريية في ISQL ارجو التوضيحيا شباب

  • بعد 1 شهر...
  • بعد 3 أسابيع...
بتاريخ:

جزاك الله خير الجزاء وزادك علما وجعلة في ميزان حسناتك

  • بعد 5 شهور...
بتاريخ:

ممتاز :(

  • بعد 3 أسابيع...
بتاريخ:

بجد شكرا وربنا يوفقك

  • بعد 2 شهور...
بتاريخ:

بارك الله فيك ووفقك وسدد خطاك

  • بعد 1 سنة...
بتاريخ:

بارك الله فيك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.