العودة   منتديات طلاب الجامعة العربية المفتوحة > منتدى كليات الجامعة العربية المفتوحة > منتدى تقنية المعلومات والحاسوب > M359

موضوع مغلق
 
أدوات الموضوع انواع عرض الموضوع

قديم 20-04-2010, 08:50 PM   #1
أسامة أسامة غير متصل
طالب فعال
 
الصورة الرمزية أسامة
افتراضي مناقشة السؤال الثاني tma02


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

سيتم في هذا الموضوع مناقشة السؤال الثاني من الواجب الثاني

السؤال يتطلب استخدام NullUniversity داتابيس,
وبعض الجداول هنا مختلفة عن الموجود في الاوراق مثلا الجدول student في الورقة يحتوي على 11 طالب لكن في NullUniversity يحتوي على 15 طالب.

كود:
SELECT *
FROM student
لازم نتاكد من الجداول في NullUniversity قبل ما نبدا

ومثل ما ذكر في الكتاب, الناتج دائما تكون مفاجئة وغير متوقعه مع NULL.
يعني طولوا بالكم
أسامة غير متصل  
قديم 20-04-2010, 08:54 PM   #2
أسامة أسامة غير متصل
طالب فعال
 
الصورة الرمزية أسامة
افتراضي رد: مناقشة السؤال الثاني من الواجب الثاني


الفقرة A

كود:
SELECT student_id, name
FROM student 
WHERE region_number=(SELECT region_number 
FROM staff
 WHERE staff_number='7774')
EXCEPT
SELECT t.student_id, name
FROM tutors t, student s
WHERE staff_number='7774'
ملاحظاتكم
أسامة غير متصل  
قديم 21-04-2010, 01:10 AM   #3
أسامة أسامة غير متصل
طالب فعال
 
الصورة الرمزية أسامة
افتراضي رد: مناقشة السؤال الثاني من الواجب الثاني


فقرة B

List all student ids, names, course code, and examination marks and examination marks for all exams taken by the student such that there are some other students with lower marks and some other students with higher examination marks. In other words, exclude the records having the lowest and the highest examination marks.

السؤال مو واضح, الي فهمته:
نجمع الجدولين student و examination
ونطلع منهم student_id و name و course_code و mark
ونحذف منهم اعلى علامة و اقل علامة

كود:
SELECT e.student_id, s.name, e.course_code, e.mark
FROM examination e, student s
WHERE e.student_id=s.student_id AND e.mark NOT IN ((SELECT MAX(mark) FROM examination), ( SELECT MIN(mark) FROM examination))
أسامة غير متصل  
قديم 21-04-2010, 03:55 AM   #4
أسامة أسامة غير متصل
طالب فعال
 
الصورة الرمزية أسامة
افتراضي رد: مناقشة السؤال الثاني من الواجب الثاني


فقرة C

كود:
SELECT e.student_id, s.name, e.course_code, e.mark, 'highest' AS rank
FROM examination e, student s
WHERE e.student_id=s.student_id AND e.mark = (SELECT MAX(mark) FROM examination)
UNION
SELECT e.student_id, s.name, e.course_code, e.mark, 'lowest'
FROM examination e, student s
WHERE e.student_id=s.student_id AND e.mark = (SELECT MIN(mark) FROM examination)
أسامة غير متصل  
قديم 21-04-2010, 03:48 PM   #5
h.v.66 h.v.66 غير متصل
طالب جديد
 
الصورة الرمزية h.v.66

 









افتراضي رد: مناقشة السؤال الثاني من الواجب الثاني


يعطيك العافيه اخوي أسامه

عقدتني except في فقره a

بس حلك مضبوط في الثلاث فقرات

هذا حلي للفقره e بتبقى فقره d في هالسؤال

كود PHP:
select *,'address' as problem 
from student
where address  is null
union
select 
*,'email_address' as problem
from student
where email_address  is null 
h.v.66 غير متصل  
قديم 21-04-2010, 09:13 PM   #6
أسامة أسامة غير متصل
طالب فعال
 
الصورة الرمزية أسامة
افتراضي رد: مناقشة السؤال الثاني من الواجب الثاني


الي عقدتني فقرة e
طريقتك ما جت على بالي,

شرايك نظيف كوايري ثالثة على حلك,
لانه طلب في السؤال بعد اذا كان الايميل والعنوان اثنينهم NULL
الجدول مافيه هذا الشي, لكن عشان ما يزعل الي كتب السؤال

كود:
select *,'address' as problem  
from student 
where address  is null 
union 
select *,'email_address' 
from student 
where email_address  is null  
union
select *,'email_address and address' 
from student 
where email_address  is null and address is null
فقرة D حاولت فيها اكثر من مره لكن دايما الناتج جدول فارغ
أسامة غير متصل  
قديم 21-04-2010, 09:53 PM   #7
h.v.66 h.v.66 غير متصل
طالب جديد
 
الصورة الرمزية h.v.66

 









افتراضي رد: مناقشة السؤال الثاني من الواجب الثاني


اللي حاط الواجب يبيله

تم تعديل فقره e ثااانكس

بالنسبه لفقره d حاولت اكثر من مره باستخدام NOT EXISTS يطلع جدول فارغ مثل ماقلت

بس انا زعلت اللي مسوي الواجب وحليتها بطريقه ثانيه

كود PHP:
select student.student_id,name
from student natural join tutors
where course_code
='c2'
and staff_number<>'5324' 
اللي يعرف الحل يساعدنا
h.v.66 غير متصل  
قديم 22-04-2010, 12:59 AM   #8
h.v.66 h.v.66 غير متصل
طالب جديد
 
الصورة الرمزية h.v.66

 









افتراضي رد: مناقشة السؤال الثاني من الواجب الثاني


بعد صراع مع الفقره d دام ساعات

حليتها

انسو الحل اللي في المشاركه اللي قبل وهذا الحل الصحيح ان شاء الله

حل فقره d
كود PHP:
select student.student_id,name
from student natural join tutors 
where not exists 
(select student_id from tutors natural join staff
where student
.student_id=tutors.student_id
and name='Lai')
and 
tutors.course_code='c2' 
ارجو التأكد من حلي
h.v.66 غير متصل  
قديم 22-04-2010, 08:29 PM   #9
أسامة أسامة غير متصل
طالب فعال
 
الصورة الرمزية أسامة
افتراضي رد: مناقشة السؤال الثاني من الواجب الثاني




correlated subquery + NOT EXISTS




يعطيك العافية على المجهود اخوي hv
كذا انتهينا من السؤال الاول والثاني الحمد لله

لي عودة مع هذا الواجب بعد كويز MT262 فرع السعودية
الكويز بعد يومين
دعوااااتكم
أسامة غير متصل  
قديم 23-04-2010, 12:17 AM   #10
h.v.66 h.v.66 غير متصل
طالب جديد
 
الصورة الرمزية h.v.66

 









افتراضي رد: مناقشة السؤال الثاني من الواجب الثاني


اقتباس:
المشاركة الأصلية كتبت بواسطة أسامة مشاهدة المشاركة


correlated subquery + NOT EXISTS




يعطيك العافية على المجهود اخوي hv
كذا انتهينا من السؤال الاول والثاني الحمد لله

لي عودة مع هذا الواجب بعد كويز MT262 فرع السعودية
الكويز بعد يومين
دعوااااتكم
الله يعافيك ويوفقك بالأختبار
h.v.66 غير متصل  
قديم 24-04-2010, 02:41 PM   #11
meme2 meme2 غير متصل
طالب جديد

 










افتراضي رد: مناقشة السؤال الثاني من الواجب الثاني


بالنسبة للفقرة D

اعتقد ان الجواب غلط والجواب الصحيح بيكون:

كود PHP:
SELECT student.student_idstudent.name
FROM course
staffstudenttutors
WHERE student
.student_id tutors.student_id
AND tutors.course_code course.course_code
AND tutors.staff_number staff.staff_number
AND ((course.course_code 'c2') AND (staff.name <> 'Lai')) 



التوقيع

مواد خلصت منها
AR111 - EL111 - EL112 - GR101 - TU170
GR131 - M150-A - MU120-A - T173-B - T175-A - M255 - M150-B - M131 - MU120-B - T173-A

مواد هالترم
M359 - M257 - T175-B

meme2 غير متصل  
قديم 24-04-2010, 10:15 PM   #12
h.v.66 h.v.66 غير متصل
طالب جديد
 
الصورة الرمزية h.v.66

 









افتراضي رد: مناقشة السؤال الثاني من الواجب الثاني


اقتباس:
المشاركة الأصلية كتبت بواسطة meme2 مشاهدة المشاركة
بالنسبة للفقرة D

اعتقد ان الجواب غلط والجواب الصحيح بيكون:

كود PHP:
SELECT student.student_idstudent.name
FROM course
staffstudenttutors
WHERE student
.student_id tutors.student_id
AND tutors.course_code course.course_code
AND tutors.staff_number staff.staff_number
AND ((course.course_code 'c2') AND (staff.name <> 'Lai')) 
اتمنى تراجعين الناتج حقك

المفروض الطالب اللي رقمه s09 مايكون بالناتج لأن المدرس Lai درسه ماده c7 و c4 وفي الشرط طالب انا نستبعد اي طالب درسه المدرس Lai اي ماده

وشكرا
h.v.66 غير متصل  
قديم 03-05-2010, 06:07 AM   #13
Sroor Sroor غير متصل
طــالب

 










افتراضي رد: مناقشة السؤال الثاني من الواجب الثاني


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

بالنسبة للفقرة b عندي سؤال
لو نفذنا هذا الكود
كود PHP:
SELECT e.student_ids.namee.course_codee.mark
FROM examination e
student s
WHERE e
.student_id=s.student_id 
نلاحظ ان فيه طالب ما عنده درجات null
طيب هذا وين موقعه من الاعراب لأنه مو max ولآ min
مو المفروض يطلع اذا نفذنا الكود النهائي؟
Sroor غير متصل  
قديم 05-05-2010, 07:10 PM   #14
أسامة أسامة غير متصل
طالب فعال
 
الصورة الرمزية أسامة
افتراضي رد: مناقشة السؤال الثاني من الواجب الثاني


عندنا


سؤال في محله, هل المفروض نظهر الطالب الي درجته null في الناتج؟
السؤال يحير

هذا حل ثاني للفقرة b يظهر في الناتج الطالب الي درجته null
استخدمت LEFT OUTER JOIN من باب التنويع
لكن مو لازم نستخدمها

كود PHP:

SELECT e
.student_ids.namee.course_codee.mark
FROM examination e LEFT OUTER JOIN student s ON e
.student_id=s.student_id
EXCEPT
SELECT e
.student_ids.namee.course_codee.mark
FROM examination e LEFT OUTER JOIN student s ON e
.student_id=s.student_id
WHERE e
.mark = ( SELECT MAX(markFROM examination) OR e.mark= ( SELECT MIN(markFROM examination

من رايي نكتب الطريقتين في الاجابة اختصارا للوقت
أسامة غير متصل  
موضوع مغلق

مواقع النشر (المفضلة)

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع


الساعة الآن 04:40 PM.


Powered by vBulletin® Version 3.8.1, Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. TranZ By Almuhajir
جميع المواضيع والمشاركات تعبر عن وجهة نظر أصحابها
ولا تعبر باي شكل من الاشكال عن وجهة نظر منتديات AOUA
تصميم وتطوير : التكنولوجيا الماسية