الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

بسم الله نبتدي من الصفر للمبتدئين فقط

رائج
بدأه هادي الشمراني في 24 فبراير 2003 · 108 رد · 45,962 مشاهدة · في قسم لغة الاستفسارات SQL
مشاركة: واتساب X فيسبوك تيليجرام
#26

مشاركتي مع الاخ هادي كما وعدت توضيح الاكواد طبعاً بعد اذن الاخ هادي

select * from emp;

--------------------

select * from dept;

--------------------

SELECT * FROM SALGRADE;

-----------------------
#27

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

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

اود ايضا ان اشكر الاخ الشاهين على مشاركة الجميلة وإن شاء الله يستمر في المشاركة

الان نبدا بقية الدروس والله الموفق

Select :

هذه الجملة من اهم الجمل والاكثر استخداما ومعناها اختيار شيء محدد من جدول محدد

ملاحظة

لكي تستفيد من عملك انصحك ان تقوم بحفظه كالتالي

اولا نعمل مستند مثلا على السي باي اسم ثم نقوم بالتالي مثال

Spool c:lessonsless1

ثم نبدا

وعند الانتهاء نكتب

Spool off

اولا جدول بيانات الموظفين يتكون من البيانات التالية

رقم الموظف وهو لايمكن تكراره

اسم الموظف

المهنة

رقم المسؤال عنه المباشر

تاريخ التعيين

الراتب

العلاوة على الراتب

رقم القسم الي يعمل فيه

مثال

نريد معرفة رقم الموظف واسمه وراتبه ؟

الحل

spool c:lessonsless1

Select empno,ename,sal

From emp;

Spool off

مثال

نريد معرفة رقم الموظف واسمه وتاريخ تعيينه وراتبه الشهري وراتبه السنوي ؟

الحل

Spool c:lessonsless1

Select empno,ename,hiredate,sal,sal*12

From emp;

Spool off

لاتنسى عند حدوث خطاء فقط اظغط

Ed

ثم اعمل التعديل

تطبيق؟

نريد معرفة رقم الموظف واسمه وتاريخ التعيين والراتب الشهري وراتبه خلال 10 سنوات والقسم الذي يعمل فيه؟

اتمنى للجميع التوفيق وشكرا

#28

الاخ هادي .... جزالك الله خير على هذا المجهود ، وياليت تهتتم باقتراح الاخ " " بحيث يكون الدرس في ملف وورد ويدرج على شكل صفحة ويب ،أو ملف PDF،لكي نستفيد من الدروس في مذكرة مطبوعه أو الكترونية ، ممكن تستفيد من عرض الأخ " حمد المهندس " في دروس PL/SQL ، وتتابع ما لم يذكره في دروسه حتى نتجنب التكرار .

ولكم جزيل الشكر والتقدير .....

#29

[ALIGN=RIGHT]

شكر لجميع الاخوان واقتراحاتكم على العين والراس

سوف نتحدث اليوم عن كيفة الاستعلام عن مكونات الجداول ونوع المتغيرات بها

لذلك سوف نستخدم الامر ديسك وهو اختصار الديسكربشين

DESC DESCRITION

وهنا امثلة مختصرة

SQL> desc emp
 Name                            Null?    Type
 ------------------------------- -------- ----
 EMPNO                        NOT NULL NUMBER(4)
 ENAME                        VARCHAR2(10)
 MGR                             NUMBER(4)
 HIREDATE                  DATE

SQL> desc tab
 Name                            Null?    Type
 ------------------------------- -------- ----
 TNAME                       NOT NULL VARCHAR2(30)
 TABTYPE                   VARCHAR2(7)
 CLUSTERID               NUMBER

[ALIGN=RIGHT]ربما ان جميع المتغيرات واضحة للجميع باستثناء الفارتشار2 لذك سوف نطرح سؤال كالتالي

ماهو الفرق بين CHAR & VARCHAR2 ؟

الفار تشار 2 يسمى المتغير المطاطي أي لو حجزنا 10 خانات وكان الاسم يتكون من 6 خانات فانه سوف يقصر الى 6 خانات تلقائيا بعكس الشار الي سوف يحجز جميع الخانات حتى ولو لم تستعمل.

تطبيق نريد معرفة مكونات جدول الاقسام؟

CODE:

#30

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

سوف نقوم بحل بعض الامثلة

لاحظ المثال الاول بعرض جميع الجداول الموجودة والداتا تايب حقها

SQL> SELECT * FROM TAB;

TNAME                          TABTYPE CLUSTERID
------------------------------ ------- ---------
BONUS                          TABLE
DEPT                           TABLE
EMP                            TABLE
HADI                           TABLE
SALGRADE                       TABLE
SAM_STUD                       TABLE

SQL> DESC  EMP
 Name                            Null?    Type
 ------------------------------- -------- ----
 EMPNO                           NOT NULL NUMBER(4)
 ENAME                                    VARCHAR2(10)
 JOB                                      VARCHAR2(9)
 MGR                                      NUMBER(4)
 HIREDATE                                 DATE
 SAL                                      NUMBER(7,2)
 COMM                                     NUMBER(7,2)
 DEPTNO                                   NUMBER(2)

SQL> DESC  DEPT
 Name                            Null?    Type
 ------------------------------- -------- ----
 DEPTNO                          NOT NULL NUMBER(2)
 DNAME                                    VARCHAR2(14)
 LOC                                      VARCHAR2(13)

SQL> DESC  SALGRADE
 Name                            Null?    Type
 ------------------------------- -------- ----
 GRADE                                    NUMBER
 LOSAL                                    NUMBER
 HISAL                                     NUMBER

SQL> DESC  BONUS
 Name                            Null?    Type
 ------------------------------- -------- ----
 ENAME                                    VARCHAR2(10)
 JOB                                      VARCHAR2(9)
 SAL                                      NUMBER
 COMM                                     NUMBER
#31

لو سمحتم ظهرت لي هذه المشلة في الـ SQL ما العمل.........؟

وهي على شكل رسالى قبل بدء البرنامج وزر واد فقط هو "OK" ويخرج من البرنامج قبل البدء

نص الرسالة

Massage file SP1 .msd not found .

هل الزام علي ان انزل البرنامج من البداية ام ابحث عن هذا الملف فقط .......

#32

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

اليوم باذن الله سوف ناخذ درس مهم

الدرس :-

في هذا الدرس سوف نتعلم طريقة تغير اسماء الاعمدة باسماء مرغوبة

وهي تعتبر عملية بسيطة وهنا سوف نطبق على بعض الامثلة

الطريقة الاولى استخدام علامة التنصيص الدبل كالتالي:-

SQL>  select ename "الاسم" ,sal"الراتب"
  2   from emp;

الاسم         الراتب
---------- ---------
SMITH            800
ALLEN           1600
WARD            1250
JONES           2975
MARTIN          1250
BLAKE           2850
CLARK           2450
SCOTT           3000
KING            5000
TURNER          1500
ADAMS           1100
JAMES            950
FORD            3000
MILLER          1300

14 rows selected.

 الطريقة الثانية بترك مسافة كالتالي:-

SQL> select ename   alesm , sal   alrateb
  2  from emp;

ALESM        ALRATEB
---------- ---------
SMITH            800
ALLEN           1600
WARD            1250
JONES           2975
MARTIN          1250
BLAKE           2850
CLARK           2450
SCOTT           3000
KING            5000
TURNER          1500
ADAMS           1100
JAMES            950
FORD            3000
MILLER          1300

14 rows selected.
#33

ونتبع هنا بدرس اخر مهم ويكاد لايخلوا اي اختبار ocp منه

والدرس هو عملية تخزين ناتج معين ثم استعادته

الشرح:-

اولا نفترض انه قمنا بعمل مجلد في الدي يحمل الاسم التالي:-

   d:oraclehadinewsave

لاحظ فعملية الحفظ كالتالي

    SQL> save d:oraclehadinewsave

انظر الى المثال التالي:-

SQL> select ename,sal,comm
  2  from emp;

ENAME            SAL      COMM
---------- --------- ---------
SMITH            800
ALLEN           1600       300
WARD            1250       500
JONES           2975
MARTIN          1250      1400
BLAKE           2850
CLARK           2450
SCOTT           3000
KING            5000
TURNER          1500         0
ADAMS           1100
JAMES            950
FORD            3000
MILLER          1300

14 rows selected.

SQL> save d:oraclehadinewsave
Created file d:oraclehadinewsave

اما عملية الاسترجاع فتكون باحد الامرين:-

SQL> @ d:oraclehadinewsave
SQL> start d:oraclehadinewsave

والان نقوم باسترجاع ماسبق وان حفظناه كالتالي:-

SQL> start d:oraclehadinewsave

ENAME            SAL      COMM                                                                      
---------- --------- ---------                                                                      
SMITH            800                                                                                
ALLEN           1600       300                                                                      
WARD            1250       500                                                                      
JONES           2975                                                                                
MARTIN          1250      1400                                                                      
BLAKE           2850                                                                                
CLARK           2450                                                                                
SCOTT           3000                                                                                
KING            5000                                                                                
TURNER          1500         0                                                                      
ADAMS           1100                                                                                
JAMES            950                                                                                
FORD            3000                                                                                
MILLER          1300                                                                                

14 rows selected.

مع تمنياتي لكم بالتوفيق والنجاح

والله ولي التوفيق

#34

ياشباب فينكم

فين ردودكم عسى المانع خير

اذا كانت الدروس مش مفيده خلاص خلونا نبطل ونترك الفرصة لغيرنا

ويعطيكم العافية

#35

هل المقصود باسترجاع البيانات هي إعادة أدخالها إلى القاعدة بعد حذفها ؟

أم هي عملية استعلام عن البيانات؟

#36

الاخ غاوي برمجه

عملية الاسترجاع الي ذكرتها تقوم بتنفيذ الاستعلام مرة اخرى بس من

المكان الي خزنت الاستعلام فيه وليس من قاعدة البيانات

وهو مش ادخال او حذف بيانات جديدة من الداتا بيز

#37

السلام عليكم

اخي هادي الشمراني

شكرا جزيلا علي ماقدمته وماتقدمه .. وارجوا منك الاستمرار وعدم الملل

وانتظار الردود .

شكرا مره اخري جزاك الله خيرا .

عمر باعقيل

كندا - مونتريال

baaqeel@msn.com

#38

الصراحة ان دروسك مفيده,وخصوصا للمبتدئين.

ولكن هي بطيئه جدا....حسب ما أرى انا شخصيا.....

على العموم ....انت لك وجهة نظرك الخاصه.....

ولكن اريد ان اسال .....هل ستشرح PL/SQLفي دروسك ام لا.....:):)

#39

بسم الله

اولا شكرا خاص للاخ عمر باعقيل واتمنى لك دوام التوفيق

ثانيا الاخ امير

سوف اقوم بشرح كل صغيرة وكبيرة من الالف الى الياء

ومن ضمنها pl/sql

بالنسبة لتاخير الدروس فاعتقد انه لازم نتعمق شويء

في التفصيل

وبصراحة انا احب اشرح بالتفصيل الممل وانا عارف انه في تاخير

ولكن كله علشان نمشيء سوىمن البداية الى النهاية

شاكر لكم جميعا مشاركاتكم ولاتحرمونا منها

واتمنى لكم دوام التوفيق والنجاح

#40

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

اليوم باذن الله سوف نواصل الدروس

اولا نذكر بعملية تغير اسماء الاعمدة باسماء مرغوبة وتدعى هذه العملية ALIASE

وتتم كالتالي

1/ بترك مسافة

2/ عمل DOUBLE QUOTATION MARK

3/ استخدام AS

امثلة

1) SELECT   SAL   RATEP
FROM EMP;

2) SELECT   SAL "RATEP"
FROM EMP;

3) SELECT   SAL AS RATEP
FROM EMP;

ثانيا: القيمة NULL ( القيمة الخالية)

NULL هي قيمة ولكنها قيمة خالية فهي لاتساوي الصفر ولاتعتبر فراغ

ويجب عليك ان تعرف شيء مهم عنها وهو ان أي عملية حسابية مع NULL

(+,/,*,-) فالناتج هو NULL

وهنا مثال

اولا لاحظ ظهور القيمة NULL

SQL> SELECT EMPNO,ENAME,COMM
  2  FROM EMP;

    EMPNO ENAME           COMM
--------- ---------- ---------
     7369 SMITH
     7499 ALLEN            300
     7521 WARD             500
     7566 JONES
     7654 MARTIN          1400
     7698 BLAKE
     7782 CLARK
     7788 SCOTT
     7839 KING
     7844 TURNER             0
     7876 ADAMS
     7900 JAMES
     7902 FORD
     7934 MILLER

14 rows selected.

ثم لاحظ قيمة NULL بعد اجراء عملية حسابية

SQL> SELECT EMPNO,ENAME,(COMM +300)
  2  FROM EMP;

    EMPNO ENAME      (COMM+300)
--------- ---------- ----------
     7369 SMITH
     7499 ALLEN             600
     7521 WARD              800
     7566 JONES
     7654 MARTIN           1700
     7698 BLAKE
     7782 CLARK
     7788 SCOTT
     7839 KING
     7844 TURNER            300
     7876 ADAMS
     7900 JAMES
     7902 FORD
     7934 MILLER

14 rows selected.

لاحظ انه لم يحدث تغيير لقيمة COMM

حتى بعد اجراء العملية الحسابية لقيمة NULL

اما القيم الاخرى فقد حدث التغيير

#41

السلام عليكم ورحمه الله وبركاته

ممكن انضم الي كورس الاوركل

ارجو الموافقه :)

علي العلم انا دارس لحد forms2

ولكن احب انا استفيد واتتطلع الي معلومات اكثر مما لدي

وشكرا وارجو الرد عليا بالموافقه

#42

اخي هادي الشمراني

يعطيك الف عافية وعندي اسألة لكنك لم تتطرق لدروسها بعد وافضل طرحها بعد ان تطرح انت الدرس .

مرة اخرى الله يعطيك العافية ......

#43

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

وقبل ان ابدا بدرس اليوم لاانسا اخواننا المجاهدين في العراق بالمشاركة

معهم في جهادهم بالدعاء لهم بان ينصرهم الله على الطغاة الكفرة المجرمين

الله انصر المسلمين والمجاهدين

الله انصر المسلمين والمجاهدين

الله انصر المسلمين والمجاهدين

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

الدرس الاول:

بالنسبة لدرس اليوم فهو عبارة عن ربط الاعمدة والسلاسل الحرفية

من عمودين مختلفين سوف نستخدم (||) للربط

مثال

select ename ||' salary  is'|| sal  
from emp;

مثال اخر

select ename||'name and'||sal "name and salry"
 from emp ;

وهنا اخر

select ename||'his job is'||job
 from emp;

الدرس الثاني

وهنا سوف نعرف كيفية عمل استعلام مشروط وهي عملية سهلة جدا

وسوف نستخدم لعمل شرط في الاستعلام كلمة where

وهنا امثلة

 select  ename ,sal ,job
 from emp
 where  sal>1000;

سوف يقوم بعرض الاسم والراتب والمهنة للموظف الذي ينطبق عليه الشرط

وهو ان يكون راتبه اكبر من 1000

وهنا اخر

SQL> SELECT ENAME ,SAL ,COMM
  2  FROM EMP
  3  WHERE COMM >SAL;

ENAME            SAL      COMM                                                                      
---------- --------- ---------                                                                      
MARTIN          1250      1400

وهنا اخر

SQL> SELECT ENAME
  2  FROM EMP
  3  WHERE COMM IS NULL;

ENAME                                                                                               
----------                                                                                          
SMITH                                                                                               
JONES                                                                                               
BLAKE                                                                                               
CLARK                                                                                               
SCOTT                                                                                               
KING                                                                                                
ADAMS                                                                                               
JAMES                                                                                               
FORD                                                                                                
MILLER                                                                                              

10 rows selected.

والله الموفق

#44

الله انصر المسلمين والمجاهدين

الله انصر المسلمين والمجاهدين

الله انصر المسلمين والمجاهدين

---------------------------------------------------------------------------------

آمين ..

جزاكم الله خير ,,

أخي : ولو أن سؤالي خارج الموضوع قليلا ، كيف لي أن أعرض بيانات حقل معين مقسم إلى عدة أقسام مع ملاحظة تساوي عدد الخانات في كل مجموعة ......... أي :

(عن عمر بن الخطاب رضي)----->>>> 20 حرفا

(الله عنه قال:سمعـــت)----->>>> 20 حرفا

و هكذا بباقي الحديث ............................................

أرجو أن يكون السؤال مفهوم ؟

#45

أولا أود أن أشكرك كثيرا علي هذه الدروس المفيده ...

وأود أن أعرف .... هل يمكن ان يتم التطبيق على جميع إصدارات الـ sql ... وما هي الفروقات بين الإصدارات المختلفة؟؟

وما هو أنسب إصدار مع Windows XP ؟

ونحن في إنتظار بقية الدروس....

#46

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

الاخوان الاعزاء غاوي برمجة و ريمو

السلام عليكم ورحمة الله وبركاته

اود ان اشكركم على مشاركاتكم الطيبة

بالنسبة لسؤالك اخ غاوي ماادري بالظبط اش تقصد تحديدا

ولو اني مكرس كل جهدي هالايام على sql ولكن باذن الله سوف

اجتهد فيه على شانك

بالنسبة للاخ ريم اصدار xp الي اعرفه انه 9i

و صراحه انا ماجربته ولكن اعتقد انه يمكن تطبيق الدروس الحاليه

عليه والله اعلم

لاتنسوا نصرة اخواننا المجاهدين في كل مكان

ومنهم العراق وفلسطين وافغانستان شاركوهم

الجهاد بالدعاء لهم بان ينصرهم الله واكثروا منه

واكثروا من قول حسبي الله ونعم الوكيل

الهم انصرهم اللهم انصرهم اللهم انصرهم

والسلام عليكم

#47

الأخ هادي، ربنا يعينك ويثبت أجرك،

يا شباب، أرجو عدم التذمر، خطوات الأخ هاني صحيحة 100%، وأرجو عدم الاستعجال، وهي صفة فينا تضيع علينا الكثير، فالبناء عندما يوضع بتأني، سيكون متين ان شاء الله، أما بخصوص الأخ/الأخت ريمو، فال XP يمكن تنزيل كل الاصدارات التي يمكن ان تنزل في ال NT وال 2000.

بالنسبة لي سأتابع ولن اتدخل إن شاء الله إلا للرد على اسئلة كهذه

موفقين ان شاء الله، وأدعوا كما قال الاخ هاني، ولكن عليكم ان تدعو له هو ايضاً

#48

الأخ هاني، ربنا يعينك ويثبت أجرك،

يا شباب، أرجو عدم التذمر، خطوات الأخ هاني صحيحة 100%، وأرجو عدم الاستعجال، وهي صفة فينا تضيع علينا الكثير، فالبناء عندما يوضع بتأني، سيكون متين ان شاء الله، أما بخصوص الأخ/الأخت ريمو، فال XP يمكن تنزيل كل الاصدارات التي يمكن ان تنزل في ال NT وال 2000.

بالنسبة لي سأتابع ولن اتدخل إن شاء الله إلا للرد على اسئلة كهذه

موفقين ان شاء الله، وأدعوا كما قال الاخ هاني، ولكن عليكم ان تدعو له هو ايضاً

#49

انا أعمل علي اوراكل ولكن القديم بنظام الحروف وليس الجرافيك

ولهذا سوف انتظم معك ان شاء الله وربنا يوفقنا جميعا

وشكرا لك مقدما علي مجهودك وجزاك الله خيرا عنا جميعا

أشـــرف

#50

وانا إن شاء الله معاكم تلميذ جديد خاصة وان مشرع تخرجي ناوي اعمله بأوراكل فالله الله يا استاذ هادي بمساعدتي في المشاكل اللي راح تواجهني مع العلم اني درست sql و pl/sql لكن devloper معتمد على اللع ثم على معلوماتك ودروسك الطيبة

والله يوفقك دنيا واخرة

مواضيع مشابهة