أسامة موسى بتاريخ: 15 أبريل 2006 تقديم بلاغ مشاركة بتاريخ: 15 أبريل 2006 (معدل) بسم الله الرحمن الرحيمالدرس الرابعسوف نتحدث في هذا الدرس ان شاء الله عن استخدام Select Statment وانواعها وكيف يمكن التعامل معها تعرّف ال Select Statmnet على انها امر من خلاله يتيح لنا احضار بيان او مجموعة بيانات من جدول واحد او اكثر من جدول وبطرق مختلفة وحسب الشرط الذي تضعه ليس هذا فحسب بل يمكن استخدام ال select statment في معالجة العمليات على الجداول التي تطرقنا لها في الدرس السابق الا وهي Update Delete Insert وكذلك يمكن استخدامها مع عدة function واقصد بها معادلات جاهزة وسوف نطرق لها بالتفصيل ان شاء الله 1- جملة SELECT البسيطةفكتب SELECT ثم اسم الحقول او اذا كنت تريد عرض كل الحقول اكثب * اي نجمة ثم FROM وهنا تعطي ايعاز ان تحدد اسم الجدول بعد ال FROM فتصبح بالشكل التالي SELECT * FROM <table_name>; مثال SELECT * FROM NATIONALITY هذا المثال يعرض لنا جميع محتويات جدول الجنسيات2- جملة ال SELECT التي تحدد فيها اسماء الحقول في الجدولفهي لا تختلف عن التي بالنقطة الاولى وانما تستبدل النجمة * باسماء حقول SELECT <column_name, column_name, ..., <column_name> FROM <table_name>; مثال SELECT DPT_NO,DPT_NAME FROM DEPARTMENTS هنا حددنا بالSELECT اسم الادراة ورقمها فقط وهذا هو الفرق3-جملة ال SELECT مع ال WHERE CONDTIONوهي تحضع شرط مع WHERE CONDITION SELECT * FROM <table_name> WHERE .... مثال SELECT * FROM DEPARTMENTS WHERE DPT_NO='DP01' 4- استخدام الSELECT مع UPDATE و INSERT و DELETE وكذلك انشاء الجدول CREATE TABLE أ- استخدام ال SELECT مع INSERT يتم الاضافة على الجدول باستخدام جملة ال INSERT وتحدد بالمقابل جملة ال SELECT وهذه الحالة تؤخذ اذا كنت تريد نسخ بيانات جدول من آخر الاضافة داخل نفس الجدول ولك حسب البيان الذي يأتي من SELECT INSERT INTO TABLE_NAME (COLOUMN1...,COLOUMN2...) SELECT COLOUMN1...,COLOUMN2...) FROM OTHER_TABLE_NAME WHERE ..... مثال INSERT INTO DEPARTMENTS(DPT_NO,DPT_NAME) SELECT NAT_NO,NAT_NAME FROM NATIONALITY; على افتراض ان نوع الحقول في كل جدول متساوية ب- استخدام ال SELECT مع DELETE DELETE FROM TABLE_NAME WHERE COLOUMN_NAME [color=blue]IN[/color] (SELECT COLUMN FROM TABLE NAME WHERE .... هنا استخدمنا FUNCTION تستخدم مع WHERE CONDTION وهي IN ويقصد بها ان هل القيمة معينة موجودة ضمن جملة ال SELECTطبعا سوف نأتي لها بالتفصيل ان شاء الله ولكن نستعرضها هنا فقط بشكل مختصرج - استخدام ال SELECT مع ال UPDATE UPDATE TABLE_NAME SET COUMN_NAME= SELECT CLOUMN_NAME FROM TABLE_NAME WHERE .... على اساس ان جملة ال SELECT ترجع قيمة واحدة لا اكثرد- استخدام ال SELECT مع CREATE TABLEالقاعدة CREATE TABLE new_table AS (SELECT column_1, column2, ... column_n FROM old_table_1, old_table_2, ... old_table_n); وهنا تنشئ جدول باستخدام جملة ال SELECTمثالCREATE TABLE DEPT AS (SELECT DPT_NO,DPT_NAME FROM DEPARTMENTSWHERE DPT_NO='DP001')لاحظوا ان هذا المثال يوضح انك تقدر ان تنشئ جدول وكذلك اضافة البيانات معه وتم استخدام WHERE CONDITION لتحديد هذه البيانات واذا اردنا اضافة البيانات كلها نلغي ال WHERE سوف نتحدث عن الفانكشن التي تساعد فلترت البيانات وكذلك الفانكشن التي تساعد في ترتيب البيانات1- الفانكشن التي تساعد في فلترت البيانات هي * ALIASES وتسمى بالاسماء المستعارة يعني تستبدل اسم الحقل باي اسم انت تحدده كي تعرض في العناوين select sysdate as "My Date" from dual; My Date -------- 28-03-06 * DISTINCT وتستخدم لفلترت البيانات المتكررة وتأتي بعد جملة ال SELECT مباشرة ومن مميزاتها انها تفلتر البيانات المتشابهه بالحقول التي تأتي بجملة ال SELECT او بالاحرى بالحقول التي تأتي بعدها يعني لو كانت لدينا البيانات التاليةاسم الموظف محمد تاريخ ميلاده 20-10-1970 اسم الموظف محمد تاريخ ميلاده 20-10-1971 واستخدمنا جملة ال SELECT في احضار اسم الموظف وتاريخ ميلاده مع DISTINCTلاحظوا انه سوف يرجع القيمتين والسبب لأن تاريخ الميلاد مختلف بينما الاسم متشابه لكن لو طلبنا احضار اسم الموظف فقط فسوف يحضر قيمة واحدة وهي اسم الموظفوقاعدة استخدامها هي SELECT DISTINCT CLOUMN1...,COLUMN2.. FROM TABLE_NAME SELECT DISTINCT DPT_NAME FROM DEPARTMENTS * UPPER و LOWERوتستخدم لتحويل الاحرف الانجليزية الى CAPITAL باستخدام UPPERوالى SMMAL باستخدام LOWERالقاعدة SELECT UPPER(CLOUMN OR STRING) FROM TABLE NAME SELECT LOWER(CLOUMN OR STRING) FROM TABLE NAME مثال SELECT LOWER('ADMIN05') FROM DUAL;SELECT UPPER('admin05') FROM DUAL;وجدول ال DUAL شرحنا عنه سابقا ارجع الى الدرس الأول SELECT UPPER('DPT_NAME'),LOWER(DPT_NAME FROM DEPARTMENTS هنا نعرض اسم الادارة مرة CAPITAL ومرة SMALLمع ملاحظة ان هذه الفانكشن لا تنطبق على احرف اللغة العربية* initcap وتستخدم لتحويل او حرف من كل كلمة الى capital select initcap(cloumname or string) from table_name select initcap('admin05') from dual; * NVL وتستخدم للتعويض عن القيم الفارغة ال NULL الى قيم نحن نحددهاواستخداماتها في الارقام والحروف SELECT NVL(CLUMONAME,YOUR_VALUE) FROM TABLE NAME مثال SELECT NVL(dpt_name,'not found') from departments select NVL(number,0) from dual * to_char وهي تستخدم للتحويل كل شيء الى قيمة string او ترتيب مثلا تاريخ حسب قناع معين select to_char(cloumn,'ur mask') from table name select to_char(cloumn) from table name select to_char(sysdate,'dd-mm-yyyy') from dualselect to_char(sysdate) from dual;هذا مثال كامل على التعامل مع التاريخ وكيفية اظهارهParameter Explanation YEAR Year, spelled out YYYY 4-digit year YYY YY Y Last 3, 2, or 1 digit(s) of year. IYY IY I Last 3, 2, or 1 digit(s) of ISO year. IYYY 4-digit year based on the ISO standard Q Quarter of year (1, 2, 3, 4; JAN-MAR = 1). MM Month (01-12; JAN = 01). MON Abbreviated name of month. MONTH Name of month, padded with blanks to length of 9 characters. RM Roman numeral month (I-XII; JAN = I). WW Week of year (1-53) where week 1 starts on the first day of the year and continues to the seventh day of the year. W Week of month (1-5) where week 1 starts on the first day of the month and ends on the seventh. IW Week of year (1-52 or 1-53) based on the ISO standard. D Day of week (1-7). DAY Name of day. DD Day of month (1-31). DDD Day of year (1-366). DY Abbreviated name of day. J Julian day; the number of days since January 1, 4712 BC. HH Hour of day (1-12). HH12 Hour of day (1-12). HH24 Hour of day (0-23). MI Minute (0-59). SS Second (0-59). SSSSS Seconds past midnight (0-86399). FF Fractional seconds. The following are date examples for the to_char function. to_char(sysdate, 'yyyy/mm/dd'); would return '2003/07/09' to_char(sysdate, 'Month DD, YYYY'); would return 'July 09, 2003' to_char(sysdate, 'FMMonth DD, YYYY'); would return 'July 9, 2003' to_char(sysdate, 'MON DDth, YYYY'); would return 'JUL 09TH, 2003' to_char(sysdate, 'FMMON DDth, YYYY'); would return 'JUL 9TH, 2003' to_char(sysdate, 'FMMon ddth, YYYY'); would return 'Jul 9th, 2003' * ORDER BY وهي فانكشن تعنى بترتيب البيانات بشكل منظم اما تصاعدي او تنازلي وتستخدم بجملة ال SELECT وتكتب في اخر جملة ال SELECT حيث نكتبها ونكتب اسم الحقل ويكتب بعدها اذا كنت الترتيب تصاعدي ويرمز لها ب ASC ثم تنازلي ويمز بها DESC ORDER BY COLUMN_NAME ASC SELECT DPT_NO,DPT_NAME FROM DEPARTMENTS ORDER BY DPT_NO ASC ان شاء الله سوف نكمل ما تبقى من فانكشن نحتاجها فيما بعدالأسئلة 1- اكتب جملة select تعرض من خلالها الاسم الادارة ورقمها وترتبها حسب الادارة2- اكتب جملة select تعرض البيانات غير المكررة لجنسية الموظف من جدول الجنسيات3- اعطي مثال على انشاء جدول باستخدام جملة ال select على ان يكون الادارة رقم DP014- اعطي مثال على اضافة وحذف وتعديل الجدول باستخدام ال select statment5- اعطي مثال تبين فيه شكل التاريخ 01-2006 حيث ان 01 هو الشهر و 2006 هو السنة من خلال استخدام فانكشن to_char6-بين باستخدام الفانكشن التالي nvl و initcap كيف يمكن استغلالها في جملة select انتهى الدرس رقم (4) ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------الدرس الثالث ..... القائمة الرئيسية ..... الدرس الخامس تم تعديل 16 أبريل 2006 بواسطة Admin05 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mdsalah بتاريخ: 2 يونيو 2006 تقديم بلاغ مشاركة بتاريخ: 2 يونيو 2006 مشكور اخى الفاضل واتمنى منك مزيد العطاء وجازاك الله خيرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
جلال شواقفه بتاريخ: 31 أكتوبر 2007 تقديم بلاغ مشاركة بتاريخ: 31 أكتوبر 2007 سلم الله يدكوبارك الله لك بعلمك وعملك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
gendia_9i بتاريخ: 30 نوفمبر 2008 تقديم بلاغ مشاركة بتاريخ: 30 نوفمبر 2008 اعزك الله بالعلم والدين يا اخى الكريم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
moh.sami بتاريخ: 6 ديسمبر 2014 تقديم بلاغ مشاركة بتاريخ: 6 ديسمبر 2014 نريد كل هذه السلسله من الدورس للاستفادة منها اعزكم الله اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.