أسامة موسى بتاريخ: 15 أبريل 2006 تقديم بلاغ مشاركة بتاريخ: 15 أبريل 2006 بسم الله الرحمن الرحيمالدرس السابعنستأنف اليوم ما بدأنا به سابقا ونكمل كيفية التعامل مع جملة Select stamentفكما قلت هي الاساس في استعراض البيانات واستغلال الفانكشن التي تم شرحها بالسابق تعطي قصر للوقت وعرض صحيح للبيان الصحيحسوف نستعرض اليوم ال Subqueries او ما يسمى بجمل ال selectالمتداخلة وهي تأتي بأشكال متعددة نذكر اشهرها وما يمكن التعامل معهااشكال ال Subqueries1- WHERE CONDITION select * from all_tables tabs where tabs.table_name in (select cols.table_name from all_tab_columns cols where cols.column_name = 'SUPPLIER_ID'); لاحظوا ان محور الحدث كله حول WHERE واستخدمنا ال IN لتوضح مفهوم هل هذا البيان موجود ضمن مجموعة من البيانات في جدول آخروكأننا نقول اعرض لنا جميع البيانات من الجدول all_tables على ان يكون مثلا اسم الجدول موجود ضمن جملة select اخرى بحيث ترجع جميع اسماء الجداول واخص هنا واركز ان اسم الحقل قبل IN يجب ان يكون نوع البيانات قي جملة ال select بعد IN متوافقة بحيث لايجوان ان تقول where cols.column_name in (select * from table_name) ويوجد نوعين آخرين سوف يتم توضحهما فيما بعد ان شاء اللهوهذا مثال توضحيح على ما سبقاعرض اسم الموظف ورقمه على ان يكون الموظفين في الادراة العامة SELECT EMP_NAME,EMP_NO FROM EMPLOYEES WHERE DPT_NO IN (SELECT DPT_NO FROM DEPARTMENTS WHERE DPT_NAME='الادرارة العامة' هنا سوف يعرض اسماء الموظفين الذين ينتمون الى الادارة رقم 10 مثلا على ان تكون هذه الادارة ضمن جملة ال SELECT الثانية وتكون اسمها الادارة العامة* UNION Queryويقصد بها دمج استعلامين لحقلين متشابهين او اكثر في جدولين مختلفينويستفاد منها بعدم اظهار البيانات المتكررة على ان يكون عدد الحقول في الجدول الاول مساوي لعدد الحقول للجدول الثاني select field1, field2, . field_n from tables UNION select field1, field2, . field_n from tables; مثال select supplier_id from suppliers UNION select supplier_id from orders; استخدام With ORDER BY Clause مع unionتوضع في اخر ال unio وممن ان ترمز لاسم الحقل الاول برقم 1وهكذا select supplier_id, supplier_name from suppliers where supplier_id > 2000 UNION select company_id, company_name from companies where company_id > 1000 ORDER BY 2; رقم 2 هو رمز supplier_name وكذلك company_name ولايعني الرقم عدد الحقول ولكن تعني الترتيب فلو وحدنا الاسماء لكتبنا الاسماء بعد Order ByCODE]select supplier_id, supplier_name as "name"from supplierswhere supplier_id > 2000UNIONselect company_id, company_name as "name"from companieswhere company_id > 1000ORDER BY name;[/code]استخدام UNION ALL Queryهي نفس مبدأ عمل ال union ولكن تعرض جميع البيانات في الجدولين مع التكرار select field1, field2, . field_n from tables UNION ALL select field1, field2, . field_n from tables; مثال select supplier_id from suppliers UNION ALL select supplier_id from orders; INTERSECT Queryومبدأ عمله يشبة ال union وهو دمج البيانات مع فارق انه يعرض البيانات الموجودة في الجدول الاول والتي غير موجودة في الجدول الثاني يعني يعرض الغير مكرر فقطselect field1, field2, . field_n from tables INTERSECT select field1, field2, . field_n from tables; مثال select supplier_id from suppliers INTERSECT select supplier_id from orders; MINUS Query هي عملية ارجاع البيانات في الاستعلام الاول والغير موجود في الاستعلام الثاني select field1, field2, . field_n from tables MINUS select field1, field2, . field_n from tables; مثال select supplier_id from suppliers MINUS select supplier_id from orders; ويجب ان تكون عدد الحقول متشابهه والنوع كذلكومعنى المثال السابق اعرض البيانات في جملة الاستعلام الاولى والغير موجودة بالاستعلام التاليكأن تقول نريد ان نعرض اسماء الموردين الذين لم يتم الطلب على منتجاتهمالأسئلة1-بين استخدام Union في جملة Select2-بين استخدام ال count في union3-ما الفرق بين INTERSECT Query و Minus Queryانتهت الاسئلة انتهى الدرس السابع الدرس السادس .....القائمة الرئيسية ..... الدرس الثامن اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمد علي عطية بتاريخ: 25 مايو 2006 تقديم بلاغ مشاركة بتاريخ: 25 مايو 2006 انا سعيد اني عرفت الموقع عاوز يكون ليا اصحاب أوراكل [email protected][email protected] اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mdsalah بتاريخ: 2 يونيو 2006 تقديم بلاغ مشاركة بتاريخ: 2 يونيو 2006 مشكور اخى الفاضل واتمنى منك مزيد العطاء وجازاك الله خيرا وشكرا لهذا الموقع الاكثر من رائع ومزيد من التقدم MDSALAH اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
osama80 بتاريخ: 29 نوفمبر 2006 تقديم بلاغ مشاركة بتاريخ: 29 نوفمبر 2006 بارك الله فيك اخي الفاضل أسامة و اتمنى من الله ان يتم عليكم بثمرة هذا العمل و تحمل أمانة العلم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
wlahmad بتاريخ: 12 يناير 2007 تقديم بلاغ مشاركة بتاريخ: 12 يناير 2007 نور الله دربكوسهل امركوبلغك مرادك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
جلال شواقفه بتاريخ: 31 أكتوبر 2007 تقديم بلاغ مشاركة بتاريخ: 31 أكتوبر 2007 ممتاز ....للامام ووفقك الله اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
shima بتاريخ: 29 أغسطس 2013 تقديم بلاغ مشاركة بتاريخ: 29 أغسطس 2013 السلام عليكم اخي البلد ورحمة الله وبركاته الله يرضى عنك ويجعلها في ميزان حسناتك الموضوع افادني جدا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمدعبدالعزيزمحمود بتاريخ: 29 أغسطس 2013 تقديم بلاغ مشاركة بتاريخ: 29 أغسطس 2013 بارك الله فيك ونرجو ان يكون هناك وسيلة تواصل دائمة باذن الله اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.