سوال ۱۱۹ کنکور ارشد مهندسی کامپیوتر ۱۴۰۱
اهمیت
۰/۵
جدولهای روبهرو را در نظر بگیرید. کدام مورد، توصیف کوئریِ مطرح شده است؟ (برای راحتی، اسامی انگلیسی ستونها نیز نوشته شده است.)
جدول دانشجو (Student)
| نام و نامخانوادگی | شماره دانشجویی |
|---|---|
| Name | Stn |
جدول درس (Course)
| نام درس | کد درس |
|---|---|
| CName | Code |
جدول درس اخذ شده (Taken)
| نمره | شماره دانشجویی | کد درس |
|---|---|---|
| Grade | SStn | CCode |
select Name
from Student S
where not exists ( select *
from Taken T join Student on Stn = SStn
where Name = 'Mina Asadi' and
not exists
( select *
from Taken B
where B.SStn = S.SStn
and T.CCode = B.CCode ) )
پاسخ صحیح: گزینهٔ A — نام و نامخانوادگی دانشجویانی که همه درسهایی را که مینا اسدی اخذ کرده، آنها نیز اخذ کردهاند.
پاسخ تشریحی
This is the classic SQL encoding of relational division (a for-all condition) using a double NOT EXISTS.
ادامهٔ پاسخ تشریحی ویژهٔ مشترکان است.
مشاهدهٔ پاسخ کامل#sql#relational-division#not-exists#nested-query#correlated-subquery#for-all