Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 3

SHIPMENT DATABASE

AN ENTERPRISE WISHES TO MAINTAIN THE DETAILS ABOUT HIS SUPPLIERS AND OTHER
CORRESPONDING DETAILS. FOR THAT IT USES THE FOLLOWING TABLES

TABLE S(SID,SNAME,ADDRESS)
PRIMARY KEY : SID

TABLE P(PID,PNAME,COLOR)
PRIMARY KEY : PID

TABLE CAT(SID,PID,COST)
PRIMARY KEY : SID+PID
REFERENCE KEY : SID REFERENCES S.SID
PID REFERENCES P.PID

SOLVE THE FOLLOWING QUERIES

1. FIND THE PNAMES OF PARTS FOR WHICH THERE IS SOME SUPPLIER


 SELECT P.PNAME FROM SHP P,SHC C
WHERE P.PID=C.PID;

2. FIND THE SNAMES OF SUPPLIERS WHO SUPPLY EVERY PART


 SELECT DISTINCT S.SID, S.SNAME FROM SHS S, SHC C
WHERE C.SID=S.SID AND C.PID IN(SELECT DISTINCT PID FROM SHP);

3. FIND THE SNAMES OF SUPPLIERS WHO SUPPLY EVERY RED PART


 SELECT S.SID,S.SNAME FROM SHS S,SHC C
WHERE C.SID=S.SID AND C.PID IN(SELECT DISTINCT (PID) FROM SHP
WHERE COLOR='RED');

4. FIND THE PNAMES OF PARTS SUPPLIED BY LONDON SUPPLIER AND BY


NO ONE ELSE
 SELECT P.PNAME FROM SHP P, SHC C, SHS S
WHERE
P.PID=C.PID AND
C.SID=S.SID AND
S.SNAME='ABC' AND
NOT EXITS (SELECT * FROM SHC C1, SHS S1
WHERE
P.PID=C1.PID AND
C1.SID=S1.SID AND
S1.SNAME <>'ABC';

5. FIND THE SIDS OF SUPPLIERS WHO CHARGE MORE FOR SOME PART
OTHER THAN THE AVERAGE COST OF THAT PART
 SELECT DISTINCT C.SID FROM SHC C
WHERE C.COST>(SELECT AVG(C1.COST)
FROM SHC C1
WHERE C1.PID=C.PID);

6. USING GROUP BY WITH HAVING CLAUSE GET THE PART NUMBERS FOR
ALL THE PARTS SUPPLIED BY MORE THAN ONE SUPPLIER
 SELECT P.PID FROM SHP P, SHC C, SHS S
WHERE P.PID=C.PID AND C.SID=S.SID
GROUP BY P.PID
HAVING COUNT(S.SIDD)>=1;

7. GET THE NAMES OF THE SUPPLIERS, WHO DO NOT SUPPLY PART P2.
 SELECT S.SNAME FROM SHS S, SHC C
WHERE S.SID=C.SID AND
NOT EXISTS(SELECT * FROM SHP WHERE PNO='P002');

8. FIND THE SIDS OF SUPPLIERS WHO SUPPLY A RED AND A GREEN PART
 SELECT DISTINCT C.SID
FROM SHC C, SHP WHERE C.PID=P.PID AND P.COLOR='RED'
INTERSECT
SELECT DISTINCT C1.SID
FROM SHC C1, SHP P1
WHERE C1.PID=P1.PID AND P1.COLOR='GREEN';

9. FIND THE SIDS OF SUPPLIERS WHO SUPPLY A RED OR A GREEN PART


 SELECT DISTINCT C.SID
FROM SHC C, SHP WHERE C.PID=P.PID AND P.COLOR='RED'
UNION
SELECT DISTINCT C1.SID
FROM SHC C1, SHP P1
WHERE C1.PID=P1.PID AND P1.COLOR='GREEN';

10.FIND THE TOTAL AMOUNT HAS TO PAY FOR THAT SUPPLIER BY PART
LOCATED FROM LONDON
 SELECT C.SID,C.PID,SUM(C.COST)”SUM”
FROM SHC C
WHERE C.SID IN (SELECT S.SID FROM SHS S
WHERE S.ADDRESS=’LONDON’)
GROUP BY C.SID,C.PID;

You might also like