مشاركة ذات تفاعل كبير programmer_85 بتاريخ: 13 فبراير 2013 مشاركة ذات تفاعل كبير تقديم بلاغ مشاركة بتاريخ: 13 فبراير 2013 السلام عليكم ورحمه الله وبركاتهحبيت ان اضع بين ايديكم اهم موضوعين في بيئية الاس كيو ال وهما الجوين join والصب كيوري subqureyصحيح ان الاس كيو ال مهمة ككل لكن اهم شي فيها هما هذان الموضوعان لانمهما يشكلان مافوق 70% من فهم الاس كيو السوف اضع كل يوم درس ومن ثم تتطرع الاسئلة حول ذلك اذا فيه اي اشكال حول الدرس...الشرط الوحيد اللذي اريده هو اريد اي شخص مهتم لهذه الدروة ان يسجل اسمه ومن ثم يتباع اول باول ...كذا اريد على الاقل 10 اشخاص في هذه الدورةلاننا في اخر الدرس سوف نطرح واجب,,,فمن رغب في ذلك فليسجل ...منتظر ردودكم ... 16 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hussinoracle بتاريخ: 13 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 13 فبراير 2013 على بركة الله .... و نسال الله ان ينفعنا و اباكم بما نتعلم و يعلمنا ما ينفعناان شاء الله انا أود الاشتراك .... واريد المواعيد بارك الله فيك 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمدعبدالعزيزمحمود بتاريخ: 13 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 13 فبراير 2013 السلام عليكم ورحمة الله وبركاتهاتمنى الموافقة على مشاركتى معك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
programmer_85 بتاريخ: 13 فبراير 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 13 فبراير 2013 مرحبا بكم اخوووواني ..المواعيد ستحدد لاحقا ان شاء الله في انتظار الكثير من الردود 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ahmedabdelwahed1332 بتاريخ: 13 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 13 فبراير 2013 إن شاء الله معك وبالتوفيق إن شاء اللهوربنا يجعله في ميزان حسناتك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sadig41 بتاريخ: 14 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 14 فبراير 2013 الي الامام يا بطل واعتبرني مسجل 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
programmer_85 بتاريخ: 14 فبراير 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 14 فبراير 2013 الى الان اربعة اشخاص بقي ع الاقل 6 ارجو من الاخوة البقية التسجيل ...لان الشرح سوف يكون معتمد كثير على مراجع اوراكل .. 2 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
programmer_85 بتاريخ: 14 فبراير 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 14 فبراير 2013 (معدل) السلام عليكم ...بالنسبة للمواضيع اتي سوف نتناولها في درس الجوين join هي:اولا انواع الجوين join:النوع الاول: 1- non_join والذي يهتم فقط بالتنفيذ وفقا للعلميات operations النوع الثاني: 1- join والذي يهتم فقط بالتنفيذ وفقا للكلمات المحجوزة keywordsاولا: ماهي انواع non_join :1- inner joinوالذي يشمل نوعان:1- equi-join2- non-equi-join2- outer_joinوالذي يشمل نوعان :1- left_outer_join2-right_outer_join3-cartesian_join4- self_joinهذه هي انواع النوع الاول من الجوين join والذي يدعى باسم non_joinوسوف نتكلم عليها بالتفصيل الممل دعما بالامثلة وكيفية استخدام كل واحد.اثانيا: ماهي انواع join :1- natural join2- cross join3-join.....using clause4-join .....on clause 5-outer joins والذي يشمل ثلاثة انواع هي:1- left _outer join2-right _outer join3- full_outer joinهذه هي انواع النوع الثاني من الجوين joinايضا سوف نتحدث عليها بالتفصيل الممل ..ملاحظة: عندما ننتهي من درس الجوين join سوف نشرع في الدرس الثاني وهو subqueryان شاء الله وسوف يطرع المنهج له قبل البدء فيه كما وضحنا ايضا دروس الجوين join.... تم تعديل 14 فبراير 2013 بواسطة programmer_85 4 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
wael topar بتاريخ: 14 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 14 فبراير 2013 ممكن اسجل مع الباشاوشكراً 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
programmer_85 بتاريخ: 14 فبراير 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 14 فبراير 2013 مرحبا بك اخوووي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Abo_Sama بتاريخ: 14 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 14 فبراير 2013 بارك الله فيكيسعدنى الإنضمام معكم لو تكرمتشكراً اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
programmer_85 بتاريخ: 14 فبراير 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 14 فبراير 2013 اذا من غدا ان شاء الله سوف نبدا الدورة ...الساعة 9:30 مساءا بتوقيت مكلة المكرمة نرجو من الاخوة ان يتابعوا الدرس اول باول ..حتى يكون هناك ترابط في المواضيع ولايكون هناك فقد لبعض المعلوماتلانه الدرس متسلسل ومترابط ببعضه البعض ..انتظرونا غدا ان شاء الله مع اول درس ..... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sabri980 بتاريخ: 15 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 15 فبراير 2013 كيف ممكن اسجل في الدوره اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
future programer بتاريخ: 15 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 15 فبراير 2013 جميل وبارك الله فيكواحب الانضمام للدورهوشكرا لكم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
مشاركة ذات تفاعل كبير programmer_85 بتاريخ: 15 فبراير 2013 كاتب الموضوع مشاركة ذات تفاعل كبير تقديم بلاغ مشاركة بتاريخ: 15 فبراير 2013 بسم الله الرحمن الرحيم الدرس الاول: مقدمه: من المعروف ان عند استخدامنا لعرض بعض البيانات من جدول معين فاننا نستخدم جملةselect . لكن ربما خطر في بال احدنا ماذا عن عرض البيانات من اكثر من جدول ..؟؟؟ كيف يمكن ان افعل ذلك.؟؟ من هنا جاء مايسمى بالجوين لفعل ذلك ؟؟ ماهو الجوين join؟؟ هي عبارة عن كلمة محجوزة في الا اس كيو ال والذي يحصل على البيانات من اكثر من جدول بناءا على العلاقة بين الاعمدة في هذه الجداول وغالبا ماتتم العلاقة بين اكثر من جدول عن طريق primay key اي المفتاح الاساسي و foreign key اي المفتاح الاجنبي ولاضير في ذلك اذا كان كل من احدهما له اسم يختلف عن الاخر .. اذا ناتي الى النوع الاول من الجوين: النوع الاول : non_join ان هذا النوع من انواع الجوين يتم تطبيقة فقط على العمليات operations ماذا نقصد بالعمليات هنا ...operations هي التي تتمثل في عملية المقارنة مثل المساواة = او العدم مساواه =! او الاكبر من او الاصغر ... الخ ناتي الى النوع الاول من :non_join 1- inner_join وكما ذكرنا في الملخص السابق بانه يشمل نوعان : النوع الاول : equi_inner_join النوع الاول : non_equi_inner_join في هذه الجلسة سوف نناقش النوع الاول وهو equi_inner_join ماهو equi_inner_join ان مفهوم equi_inner_join هو يرتبط بالاعمدة سواء من جدولين او اكثر بواسطة المعامل operator ((=)) وهو المساواه ونلاحظ ان من الاسم يحمل ذلك اي ان المعاملات الاخرى operators لاتعمل على هذا النوع ... سنذكرها لاحقا ان شاء الله مع النوع الثاني من equi_join. للعمل مع هذا النوع يجب ان يكون هناك عمود مرتبط اي لديه علاقة مع عمود اخر في جدول اخر ... على سبيل المثال:: لدينا هذان الجدولان وهما جدول الموظفين وجدول الاقسام .. وهما معطى من شركة اوراكل وذلك لغرض الممارسة والتدريب وسوف يكون كل العمل على هذان الجدولان اضافة الى جدول اسمه salgrade اييضا معطى من شركة اوراكل .. ملاحظة: العمل سوف يكون على تلك الجداول الثلاثة وهما emp ,dept ,salgrade عندما تثبت اوراكل تخرج لك اتوماتيكيا ماعليك فقط الا ان تدخل على هذا اليوزر مثلا scott وكلمة مروره وسوف ترى ذلك عندما تعرض البيانات.ا سوف اعرض كل الجداول هنا من بياناتها الجدول الاول : جدول الموظفين او مايمسى هنا emp يحتوي على 14 صف ][/b] EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO------- ---------- --------- ------- --------- ------- ------- ------- 7369 SMITH CLERK 7902 17-DEC-80 800 20 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 7566 JONES MANAGER 7839 02-APR-81 2975 20 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 7788 SCOTT ANALYST 7566 19-APR-87 3000 20 7839 KING PRESIDENT 17-NOV-81 5000 10 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 7876 ADAMS CLERK 7788 23-MAY-87 1100 20 7900 JAMES CLERK 7698 03-DEC-81 950 30 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7934 MILLER CLERK 7782 23-JAN-82 1300 10 الجدول الثاني : جدول الاقسام او مايسمى جدول DEPT والذي يحتوي على اربعة صفوف وخمسة اعمدة DEPTNO DNAME LOC------ -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON اذا الان لدينا هذان الجدولان نريد ان نعرض البيانات قبل ان نعمل الجوين join وماهي النتيجة التي سوف نحصل عليها من دون ان الجوين join وهل هذا الكود سوف ينفذ ام سيعطينا خطأ في حالة عدم ربط الجوين بين الجدولين..نرى ذلك select * from emp ,dept; عندما ننفذ هذا سوف يتنفذ ولايعطي لنا اي خطا ..؟؟اذا ماحاجة للجوين اذا تم تنفيذ هذا الكود دون ان نربط الجوين ؟ان المشكلة التي سوف تنتج عندما نطبق الكود السابق سوف نحصل على تكرار للصفوف اي سيتم ضرب 14 *4 حيث ان 14 صف يمثل عدد صفوف الموظفين بينما 4 صفوف يمثل عدد صفوف الاقسام .. نفذ هذا الكود لترى انالناتج هو 56 صف مكررة ..اذا عرفنا ماهي فائدة الجوين هنا؟؟سوف نعرض الان نفس الكيوري qurey السابق لكن مع كيفية ربط equi join .. select job,sal,empno,deptno ,danme,loc from emp ,dept where emp.deptno=dept.depnto; عندما ننفذ هذا الكود سوف يعطي لنا خطأ لماذا؟؟لان لدينا عمود اسمه deptno وهو في جدول الموظفين يمثل المفتاح الخارجي او الاجنبي وايضا لدينا نفس العمود وبنفس الاسم فس جدول الاقسام هنا حصل للكيوري حقنا تشوش لايعرف ايهما ياخذ ؟؟لحل هذه المشكلة يجب ان نحدد قبل اسم العمود اسم الجدول مثلا:emp.deptnoملاحظة:عندما يكون هنا جوين بين الجداول اذا وجد اي اسم عمود بنفس اسم عمود في جدول اخر سوف يحصل تشوش للكيرويqurey وبهذا سوف يعطي لنا خطا .. اذا يجب ان نحدد فقط اسم الجدول لذلك .. اما عند الاعمدة المختلفة الاسماء فلا يسبب اي مشكلة لانه فريد .كتابة الكود الصحيح select job,sal,empno,emp.deptno ,dname,loc from emp ,dept where emp.deptno=dept.deptno; نلاحظ في المثال السابق كيفية عمل ربط الجوينوكما اشارنا سابقا بانه لابد من وجود علاقة تربط الجداول فيما بينهم وهو المسمى المفتاح الاساسي والاجنبيهنا ايضا هذا الكود. where emp.deptno=dept.deptno هي ربط الجدول الاول وهو الموظفين بالجدول الثاني وهو الاقسام emp ,deptارجو ان تكون االفكرة قد وصلت ..لدينا مثال ثاني : [b]select job,sal,e.deptno ,dname,loc from emp e ,dept d where e.deptno=d.deptno;[/b] نلاحظ في هذا المثال هو نفس الاول لكن اختلف قليل وهو استخدامنا فقط لما يمسى columns_alias وهو اتخاذ اسماء مستعار في مرحلة البفرbefferاي اعطنا اسم emp e اسم e وكذا dept d اسم دي وهي فقط تستخدم في مرحلة البفر لاغير .. فاذا اعطنا تلك الاسماء فلابد ان نكتبها ايضا في شرط الجوين equi_join ولا سوف يعطي لنا خطا مثل ذلك select job,sal,e.deptno ,dname,loc from emp e ,dept d where e.deptno=d.deptno; اما هذا الكود فهو خطأ: select job,sal,e.deptno ,dname,loc from emp e ,dept d where emp.deptno=dept.deptno; الرجاء الانتباه لذلك .... ارجو ان تكون قد وصلت الفكرةعندما تنفذ هذا المثال السابق سوف يعطي لك 14 صف لانها ارتبط فقط 3 صفوف من جدول الاقسام ام الصف الرابع في جدول الاقسام فلا يرجع اي قيمه لانه ليس هنا موظفين يعملون في تلك الدائرة .. اذا وجد موظفين فسوف يرجع اي صف او اكثر وفقا للعد الموظفين ذي ذلك..تمعن ذلك جيدا ترى ان القسم 40 لايوجد ابدا في جدول الموظفين وهوكما اشارنا انفا انه ليس هنا موظفين يعملون فيه ..مثال على عملية استراجع بيانات من بيانات يوزر اخرانت الان تعمل مثلا على اليوزر ahmed وتريد ان تعرض بيانات من الجداول التي توجد في اليوزر مثلا scott .. فكيف فعل ذلك؟؟الحل بيسط جدا .. اشرنا سابقا ان عندما يكون هنا عمودان بنفس الاسم فلابد من عمل اسمه جدول قبله مثل emp.deptno ,او dept.deptno اي ان العمود داخل شي اسمه جدول والجدول داخل اشي اسمه يوزر مستخدم اذا سوف يصبح الكود مثل ذلك scott.emp.deptno ومثلها على تلك االاعمدة والجداول ..مثال يوضح ذلك اكثر... select scott.emp.ename,scott.emp.job, scott.emp.deptno,scott.dept.dname, scott.dept.loc from scott.emp,scott.dept where scott.emp.deptno=scott.dept.deptno; بحمد الله تم اكمال الجزء الاول من inner join وهو equi_inner _joinتمرين: قم بعرض بعض deptno,empno,job,ename,sal من جدول الموظفين وايضا اعرض dname من جدول الاقسام واعمل بينما جوين المساواه ...واستخدم في ذلك tables_alias ارجوا ان يكون الشرح وافي ومفهوم 18 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 16 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 16 فبراير 2013 السلام عليكم ورحمة الله وبركاتهان شاء الله معكم في الدورة والى الامام بأذن الله 2 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
programmer_85 بتاريخ: 16 فبراير 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 16 فبراير 2013 اهلا بك اخوووي ...لكن اين التفاعل منكم ..؟؟ لاارى اي وجود علما اني قد وضعت تمرين في الدرس الماضي 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
booon7 بتاريخ: 16 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 16 فبراير 2013 انا جديد على قواعد البيانات وحاب ابدا من sql وان شاء الله معاكم نستفيدتسجيل اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 16 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 16 فبراير 2013 اهلا بك اخوووي ...لكن اين التفاعل منكم ..؟؟ لاارى اي وجود علما اني قد وضعت تمرين في الدرس الماضي اعتذر اخي العزيز ولكني لم انتبه للتمرين select e.deptno,empno,job,ename,sal,dname from emp e,dept d where e.deptno=d.deptno 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
اسامة 1991 بتاريخ: 16 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 16 فبراير 2013 مشكور اخي الحبيب .. وجزاك الله كل الخير .......... الدرس مفيد جدا ........ والشرح مبسط ومفهوم .................... تحياتي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
wael topar بتاريخ: 16 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 16 فبراير 2013 مفهوم جدا ومتابعين معاك يابشمهندس اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
wael topar بتاريخ: 16 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 16 فبراير 2013 اجابة التمرين ياباشاSELECT EMPNO,JOB,ENAME,SAL,EE.DEPTNO,DNAMEFROM EMP EE,DEPT TTWHERE EE.DEPTNO=TT.DEPTNO; 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
programmer_85 بتاريخ: 16 فبراير 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 16 فبراير 2013 الدرس الثاني في الدرس السابق تناولنا النوع الاول من انواع inner_non_join وعرفنا كيف يتم عمله وعلى ماذا واخذنا عليه امثله كثيرة ..اليوم ان شاء الله في درسنا هذا سوف تناول النوع الثاني من انواع inner_non_join وهو non_equi_join.ماهو non_equi_join؟؟هو نفس equi_join في عمله الا انه يتم على العمليات الاخرى من غير المساواه مثل الاصغر من الاكبر من او and او or او between ....الخ.لناخذ مثال على ذلك يوضح اكثر ..اولا سوف ناتي بالجدول الثالث المسمى sal grade لاننا سوف نعرف منه البيانات في هذا االدرس.. GRADE LOSAL HISAL------- ------- ------- 1 700 1200 2 1201 1400 3 1401 2000 4 2001 3000 5 3001 9999 ان جدول salgrade يحتوي على ثلاثة اعمدة وهي grade ,losal,hisal وايضا يحتوي على خمسة صفوفسوف نعرف في هذا المثال كيفية تطبيق non_equi_join حيث يحتوي هنا على المعامل between والمعامل and .. select ename,job,sal,grade from emp e ,salgrade s where sal between losal and hisal; ماهي الـــ Output من هذا الكيوري qurey : ENAME JOB SAL GRADE---------- --------- ------- -------SMITH CLERK 800 1JAMES CLERK 950 1ADAMS CLERK 1100 1WARD SALESMAN 1250 2MARTIN SALESMAN 1250 2MILLER CLERK 1300 2TURNER SALESMAN 1500 3ALLEN SALESMAN 1600 3CLARK MANAGER 2450 4BLAKE MANAGER 2850 4JONES MANAGER 2975 4SCOTT ANALYST 3000 4FORD ANALYST 3000 4KING PRESIDENT 5000 514 rows selected. نرى في المخرجات ان الكيوري يحتوي على اربعة اعمدة ثلاثة منها من جدول emp وواحد فقط من جدول salgrade لناخذ كود الجوين join ونحلله .. where sal between losal and hisal كما اشارنا سابقا ان هذان النوعان من الجوين لايختلفان في عملهما الان فقط في العملياتهنا نرى الجوين ارتبط فقط بالمعاملين هما between و and نلاحظ انه لايوجد مساواه او عامل المساوه لاننااذا استخدمن معامل المساواه هنا سوف يصبح الكيوري هو equi_join النوع الاول المذكور في الدرس السابق.اذا يمكن ان نربط اي معامل في شرط الجوين ماعدا معامل المساواه ..ناخذ مثال اخر اكثر توضبحا ..سوف نعرض هنا في المثال الثاني ename,sal,job,deptno,dname,loc,grade لكل الموظفين فكيف سيكون الكيوري ..قبل ان نبدا يجب ان تعرف ان الاعمدة المذكورة سابقا تاتي من ثلاثة جداول وليس من جدولين فكيف يمكننا فعل ذلك .. لنرى الكيوري سويا وبعد ذلك نحلله.. select ename,job,sal,e.deptno,dname,loc,grade from emp e,dept d ,salgrade s where e.deptno=d.deptno and e.sal between s.losal and s.hisal ; لناخذ فقط شرط الجوين بين تلك الجداول ومن ثم نحلله .. لان البقية مفهوم ولااشكال في ذلك.. [b]where e.deptno=d.deptno and e.sal between s.losal and s.hisal[/b] في شرط الجوين نلاحظ هناك شرطين الاول هو equi والثاني هوnon_equi شرط equi e.deptno=d.deptno شرط non_equi [b]e.sal between s.losal and s.hisal[/b] هنا ربطنا بين هذان الجوين وهو لااشكال في ذلك وهو شرط عادي ومن ثم قرننا بينهما بالمعامل and حتى يحتقق كلا الشرطان..المخرجات سوف تكون كالاتي للكيوري السابق ENAME JOB SAL DEPTNO DNAME LOC GRADE---------- --------- ------- ------- -------------- ------------- -------SMITH CLERK 80 20 RESEARCH DALLAS 1JAMES CLERK 950 30 SALES CHICAGO 1ADAMS CLERK 1100 20 RESEARCH DALLAS 1WARD SALESMAN 1250 30 SALES CHICAGO 2MARTIN SALESMAN 1250 30 SALES CHICAGO 2MILLER CLERK 1300 10 ACCOUNTING NEW YORK 2TURNER SALESMAN 1500 30 SALES CHICAGO 3ALLEN SALESMAN 1600 30 SALES CHICAGO 3CLARK MANAGER 2450 10 ACCOUNTING NEW YORK 4BLAKE MANAGER 2850 30 SALES CHICAGO 4JONES MANAGER 2975 20 RESEARCH DALLAS 4SCOTT ANALYST 3000 20 RESEARCH DALLAS 4FORD ANALYST 3000 20 RESEARCH DALLAS 4KING PRESIDENT 5000 10 ACCOUNTING NEW YORK 5 لناخذ المثال الاخير وهو اكثر توسعا واكثر شروطا ونرى مافيهقم بعرض empno,job,ename,sal,comm,mgr,deptno,dname,loc,grade للموظفين الذينليس لديهم اي comm اي عموله ويكون الراتب فوق 1000 select empno,ename,sal,job,comm,e.deptno,dname,loc,grade from emp e ,dept d,salgrade s where e.deptno=d.deptno and e.sal between s.losal and s.hisal and comm is null and sal>1000 الكود السابق والكيوري بسيك جدا هو يشبة المثال الثاني الا انه اختلف في اضافة العديد من الشروط ..والشروط هنا هي شروط الفلترة filters اضافة الى شروط الجوين الاثنان ..شراطان الجوين هما ... e.deptno=d.deptno and e.sal between s.losal and s.hisal شروط الفلترة هي: comm is null and sal>1000 سوف تكون المخرجات بالشكل الاتي: EMPNO ENAME SAL JOB COMM DEPTNO DNAME LOC GRADE----- ---------- ----- --------- ----- ------ -------------- ------------- ----- 7876 ADAMS 1100 CLERK 20 RESEARCH DALLAS 1 7934 MILLER 1300 CLERK 10 ACCOUNTING NEW YORK 2 7782 CLARK 2450 MANAGER 10 ACCOUNTING NEW YORK 4 7698 BLAKE 2850 MANAGER 30 SALES CHICAGO 4 7566 JONES 2975 MANAGER 20 RESEARCH DALLAS 4 7788 SCOTT 3000 ANALYST 20 RESEARCH DALLAS 4 7902 FORD 3000 ANALYST 20 RESEARCH DALLAS 4 7839 KING 5000 PRESIDENT 10 ACCOUNTING NEW YORK 5 ارجو ان تكون قد وصلت الفكرة بشكل واضح ومفهوم ..تمرين:قم بعرض الاعمدة التالية empno,ename,job,sal ,mgr,deptno,dname,grade من الجداول الثلاثة للموظفين حيثن ان:الموظفين فقط الذي يعملون في قسم الحسابات والمبيعات اي accounting,sales والذي لديهم عموله وكذا لديهم مدير يشرف عليهم اي الذينيعملون تحت اشراف مدير (انتبه لهذا النقطة ) وكذا يحتوي اسمهم على حرف A ..اراكم ان شاء الله في الدرس القادم 3 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
wael topar بتاريخ: 16 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 16 فبراير 2013 اجابة التمرين ياباشاselect empno,ename,job,sal,mgr,e.deptno,dname,gradefrom emp e,dept d,salgrade swhere e.deptno=d.deptno and e.sal between s.hisal and s.losaland dname in ('accounting','sales') and comm is not nulland empno in(select mgr from emp) and ename like '%A%'; 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
wael topar بتاريخ: 16 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 16 فبراير 2013 بس no row selectedصح؟ 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.