النافذة العربية للبرمجة

النافذة العربية للبرمجة
 
الرئيسيةالمشاركاتمكتبة الصورس .و .جبحـثالأعضاءالمجموعاتالتسجيلدخول

شاطر | 
 

 الدرس السابع : كيفية التعامل مع جملة Select stame, ضمن سلسلة دروس كيف تبدأ في تعلم الأوراكل

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
عبدالهادي الحداد
مدير الموقع
avatar

عدد الرسائل : 483
العمر : 32
الموقع : اليمن الحبيبة
العمل/الترفيه : طالب برمجة
تاريخ التسجيل : 13/06/2008

بطاقة الشخصية
المدير العام / عبدالهادي الحداد:

مُساهمةموضوع: الدرس السابع : كيفية التعامل مع جملة Select stame, ضمن سلسلة دروس كيف تبدأ في تعلم الأوراكل   الأربعاء يونيو 18, 2008 12:31 pm

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

نستأنف اليوم ما بدأنا به سابقا ونكمل كيفية التعامل مع جملة Select stament
فكما قلت هي الاساس في استعراض البيانات واستغلال الفانكشن التي تم شرحها بالسابق تعطي قصر للوقت وعرض صحيح للبيان الصحيح

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

اشكال ال Subqueries

1- WHERE CONDITION

CODE
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 متوافقة بحيث لايجوان ان تقول

CODE
where cols.column_name in (select * from table_name)

ويوجد نوعين آخرين سوف يتم توضحهما فيما بعد ان شاء الله
وهذا مثال توضحيح على ما سبق
اعرض اسم الموظف ورقمه على ان يكون الموظفين في الادراة العامة

CODE

SELECT EMP_NAME,EMP_NO FROM EMPLOYEES
WHERE DPT_NO IN (SELECT DPT_NO FROM DEPARTMENTS
WHERE DPT_NAME='الادرارة العامة'
هنا سوف يعرض اسماء الموظفين الذين ينتمون الى الادارة رقم 10 مثلا على ان تكون هذه الادارة ضمن جملة ال SELECT الثانية وتكون اسمها الادارة العامة

* UNION Query
ويقصد بها دمج استعلامين لحقلين متشابهين او اكثر في جدولين مختلفين
ويستفاد منها بعدم اظهار البيانات المتكررة على ان يكون عدد الحقول في الجدول الاول مساوي لعدد الحقول للجدول الثاني

CODE
select field1, field2, . field_n
from tables
UNION
select field1, field2, . field_n
from tables;
مثال

CODE
select supplier_id
from suppliers
UNION
select supplier_id
from orders;



استخدام With ORDER BY Clause مع union
توضع في اخر ال unio وممن ان ترمز لاسم الحقل الاول برقم 1وهكذا


CODE
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 By
CODE]select supplier_id, supplier_name as "name"
from suppliers
where supplier_id > 2000
UNION
select company_id, company_name as "name"
from companies
where company_id > 1000
ORDER BY name;[/CODE]
استخدام UNION ALL Query
هي نفس مبدأ عمل ال union ولكن تعرض جميع البيانات في الجدولين مع التكرار


CODE
select field1, field2, . field_n
from tables
UNION ALL
select field1, field2, . field_n
from tables;

مثال

CODE
select supplier_id
from suppliers
UNION ALL
select supplier_id
from orders;



INTERSECT Query

ومبدأ عمله يشبة ال union وهو دمج البيانات مع فارق انه يعرض البيانات الموجودة في الجدول الاول والتي غير موجودة في الجدول الثاني يعني يعرض الغير مكرر فقط
select field1, field2, . field_n

CODE
from tables
INTERSECT
select field1, field2, . field_n
from tables;


مثال

CODE
select supplier_id
from suppliers
INTERSECT
select supplier_id
from orders;


CODE
MINUS Query

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


CODE
select field1, field2, . field_n
from tables
MINUS
select field1, field2, . field_n
from tables;

مثال

CODE
select supplier_id
from suppliers
MINUS
select supplier_id
from orders;
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://awfm.boardlog.com
محترف
مبرمج رائع
مبرمج رائع
avatar

عدد الرسائل : 144
العمر : 31
تاريخ التسجيل : 22/07/2008

بطاقة الشخصية
المدير العام / عبدالهادي الحداد:

مُساهمةموضوع: رد: الدرس السابع : كيفية التعامل مع جملة Select stame, ضمن سلسلة دروس كيف تبدأ في تعلم الأوراكل   الثلاثاء أغسطس 12, 2008 5:57 am

مشكوووووووووور يلغالي على هذا الموضوع الحلو الممتاز ونتم نى المزيد من المواضيع
lol!
lol!lol!
lol!lol!lol!
lol!lol!lol!lol!
lol!lol!lol!lol!lol!
lol!lol!lol!lol!lol!lol!
lol!lol!lol!lol!lol!lol!lol!
lol!lol!lol!lol!lol!lol!lol!
lol!lol!lol!lol!lol!lol!
lol!lol!lol!lol!lol!lol!
lol!lol!lol!lol!lol!
lol!lol!lol!lol!
lol!lol!lol!
lol!lol!
lol!
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
sas48
عضو جديد
عضو جديد
avatar

عدد الرسائل : 29
تاريخ التسجيل : 02/09/2008

مُساهمةموضوع: رد: الدرس السابع : كيفية التعامل مع جملة Select stame, ضمن سلسلة دروس كيف تبدأ في تعلم الأوراكل   الإثنين نوفمبر 10, 2008 4:14 pm

مشكوووووووووووووور أخزي عبدالهادي الحداد على هذا الموضوع الرائع







الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
 
الدرس السابع : كيفية التعامل مع جملة Select stame, ضمن سلسلة دروس كيف تبدأ في تعلم الأوراكل
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» الدرس الخامس :الفانكشن في جملة ال Select, ضمن سلسلة دروس كيف تبدأ في تعلم الأوراكل
» تعلم SQL Statement خطوة فخطوة
» مركز selecT

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
النافذة العربية للبرمجة :: قسم قواعد البيانات :: Oracle قسم قواعد البيانات أوراكل-
انتقل الى: