حل تشریحی سوال شماره 82 مجموعه دروس تخصصی مشترک
کنکور ارشد مهندسی فناوری اطلاعات (IT) 1401
با فرض وجود جداول S و P و I و SPI به صورت زیر:
- S (SID, SNAME, STATUS, CITY) جدول تولید کنندگان شامل شماره تولید کننده، نام تولید کننده، وضعیت، شهر
- P (PID, PNAME, WEIGHT) جدول انواع قطعات شامل شماره قطعه نام نوع قطعه، وزن
- (J (JID, JNAME, CITY) جدول پروژهها شامل شماره پروژه نام پروژه شهر
- (SPJ (SID, PID, JID, QTY) جدول قطعات تولید شده شامل تعداد قطعه (QTY) تولید شده از نوع PID توسط تولید کننده SID در پروژه JID
با توجه به اینکه هر تولید کننده میتواند در یک پروژه انواع مختلفی از قطعات را با تعداد متفاوت تولید کند کدام یک از گزینههای زیر پرس وجوی SQL لازم برای واکشی لیست نام تولید کنندگانی است که مجموعاً بیشترین قطعه از همه انواع قطعات را در پروژه شماره 302 تولید کرده اند؟
SELECT S.SNAME FROM S NATURAL JOIN SPJ
WHERE SPJJID=302
GROUP BY SID
HAVING SPLSUM (SPJQTY) >= (SELECT MAX (SPJ2.QTY) FROM SPI AS SPJ2
WHERE SPJ2,JID=302 GROUP BY SPJ2 SID)
SELECT S.SNAME FROM S NATURAL JOIN SPJ
WHERE SPJ.JID=302 AND
SPJ.QTY >= ALL (SELECT SUM (SPJ2.QTY) FROM SPJ AS SPJ2)
SELECT S.SNAME FROM S NATURAL JOIN SPJ
WHERE SPJJID = 302
GROUP BY SID
HAVING SUM (SPJ.QTY) >= ALL (SELECT SUM (SPJ2.QTY) FROM SPJ AS SPJ2
WHERE SPJ2.JID=302 GROUP BY SPJ2.SID)
SELECT S.SNAME FROM S
WHERES.SID IN (SELECT SPISID FROM SPJ
WHERE SPJ.JID=302 AND
SPI.QTY = (SELECT MAX (SPJ2.QTY) FROM SPJ AS SPJ2)